void DownloadManager::download(QWebEngineDownloadItem *downloadItem) { QString downloadPath; bool openFile = false; QString fileName = QFileInfo(downloadItem->path()).fileName(); fileName = QUrl::fromPercentEncoding(fileName.toUtf8()); if (m_downloadPath.isEmpty()) { // Ask what to do DownloadOptionsDialog optionsDialog(fileName, downloadItem->url(), mApp->activeWindow()); optionsDialog.showExternalManagerOption(m_useExternalManager); optionsDialog.setLastDownloadOption(m_lastDownloadOption); switch (optionsDialog.exec()) { case 1: // Open openFile = true; downloadPath = QzTools::ensureUniqueFilename(DataPaths::path(DataPaths::Temp) + QLatin1Char('/') + fileName); m_lastDownloadOption = OpenFile; break; case 2: // Save downloadPath = QFileDialog::getSaveFileName(mApp->activeWindow(), tr("Save file as..."), m_lastDownloadPath + fileName); m_lastDownloadOption = SaveFile; break; case 3: // External manager startExternalManager(downloadItem->url()); // fallthrough default: downloadItem->cancel(); return; } } else { downloadPath = QzTools::ensureUniqueFilename(m_downloadPath + QL1C('/') + fileName); } if (downloadPath.isEmpty()) { downloadItem->cancel(); return; } // Set download path and accept downloadItem->setPath(downloadPath); downloadItem->accept(); // Create download item QListWidgetItem* listItem = new QListWidgetItem(ui->list); DownloadItem* downItem = new DownloadItem(listItem, downloadItem, QFileInfo(downloadPath).absolutePath(), QFileInfo(downloadPath).fileName(), openFile, this); connect(downItem, SIGNAL(deleteItem(DownloadItem*)), this, SLOT(deleteItem(DownloadItem*))); connect(downItem, SIGNAL(downloadFinished(bool)), this, SLOT(downloadFinished(bool))); ui->list->setItemWidget(listItem, downItem); listItem->setSizeHint(downItem->sizeHint()); downItem->show(); show(); raise(); activateWindow(); }
void VideoRecorderControls::changeOptions(void) { VideoRecordingOptionsDialog optionsDialog(frameRate, bitRate_bitPerSec, pixFmt, parentWidget()); int result = optionsDialog.exec(); if(result==QDialog::Accepted) { frameRate = optionsDialog.getFrameRate(); bitRate_bitPerSec = optionsDialog.getVideoBitRate(); pixFmt = optionsDialog.getPixelFormat(); } }
bool RemoteHelpFilter::openConfigDialog(QWidget *parent, bool &needsRefresh) { Q_UNUSED(needsRefresh) RemoteFilterOptions optionsDialog(this, parent); if (optionsDialog.exec() == QDialog::Accepted) { QMutexLocker lock(&m_mutex); Q_UNUSED(lock) m_remoteUrls.clear(); setIncludedByDefault(!optionsDialog.m_ui.limitCheck->isChecked()); setShortcutString(optionsDialog.m_ui.shortcutEdit->text().trimmed()); for (int i = 0; i < optionsDialog.m_ui.listWidget->count(); ++i) m_remoteUrls.append(optionsDialog.m_ui.listWidget->item(i)->text()); return true; } return true; }
void VideoControls::changeOptions(void) { VideoOptionsDialog optionsDialog(parentWidget(), minFilter, magFilter, sWrapping, tWrapping, maxMipmapLevel, numFrameBuffered); int result = optionsDialog.exec(); if(result==QDialog::Accepted) { minFilter = optionsDialog.options.getMinFilter(); magFilter = optionsDialog.options.getMagFilter(); sWrapping = optionsDialog.options.getSWrapping(); tWrapping = optionsDialog.options.getTWrapping(); maxMipmapLevel = optionsDialog.options.getMaxLevel(); numFrameBuffered= optionsDialog.getNumFrameBuffered(); updateLoadToolTip(); } }
void DownloadManager::download(QWebEngineDownloadItem *downloadItem) { closeDownloadTab(downloadItem->url()); QString downloadPath; bool openFile = false; QString fileName = QFileInfo(downloadItem->path()).fileName(); fileName = QUrl::fromPercentEncoding(fileName.toUtf8()); // Filename may have been percent encoded and actually containing path fileName = QFileInfo(fileName).fileName(); const bool forceAsk = downloadItem->savePageFormat() != QWebEngineDownloadItem::UnknownSaveFormat || downloadItem->type() == QWebEngineDownloadItem::UserRequested; if (m_useExternalManager) { startExternalManager(downloadItem->url()); } else if (forceAsk || m_downloadPath.isEmpty()) { enum Result { Open = 1, Save = 2, ExternalManager = 3, SavePage = 4, Unknown = 0 }; Result result = Unknown; if (downloadItem->savePageFormat() != QWebEngineDownloadItem::UnknownSaveFormat) { // Save Page requested result = SavePage; } else if (downloadItem->type() == QWebEngineDownloadItem::UserRequested) { // Save x as... requested result = Save; } else { // Ask what to do DownloadOptionsDialog optionsDialog(fileName, downloadItem, mApp->activeWindow()); optionsDialog.showExternalManagerOption(m_useExternalManager); optionsDialog.setLastDownloadOption(m_lastDownloadOption); result = Result(optionsDialog.exec()); } switch (result) { case Open: openFile = true; downloadPath = QzTools::ensureUniqueFilename(DataPaths::path(DataPaths::Temp) + QLatin1Char('/') + fileName); m_lastDownloadOption = OpenFile; break; case Save: downloadPath = QFileDialog::getSaveFileName(mApp->activeWindow(), tr("Save file as..."), m_lastDownloadPath + QLatin1Char('/') + fileName); if (!downloadPath.isEmpty()) { m_lastDownloadPath = QFileInfo(downloadPath).absolutePath(); Settings().setValue(QSL("DownloadManager/lastDownloadPath"), m_lastDownloadPath); m_lastDownloadOption = SaveFile; } break; case SavePage: { const QString mhtml = tr("MIME HTML Archive (*.mhtml)"); const QString htmlSingle = tr("HTML Page, single (*.html)"); const QString htmlComplete = tr("HTML Page, complete (*.html)"); const QString filter = QStringLiteral("%1;;%2;;%3").arg(mhtml, htmlSingle, htmlComplete); QString selectedFilter; downloadPath = QFileDialog::getSaveFileName(mApp->activeWindow(), tr("Save page as..."), m_lastDownloadPath + QLatin1Char('/') + fileName, filter, &selectedFilter); if (!downloadPath.isEmpty()) { m_lastDownloadPath = QFileInfo(downloadPath).absolutePath(); Settings().setValue(QSL("DownloadManager/lastDownloadPath"), m_lastDownloadPath); m_lastDownloadOption = SaveFile; QWebEngineDownloadItem::SavePageFormat format = QWebEngineDownloadItem::UnknownSaveFormat; if (selectedFilter == mhtml) { format = QWebEngineDownloadItem::MimeHtmlSaveFormat; } else if (selectedFilter == htmlSingle) { format = QWebEngineDownloadItem::SingleHtmlSaveFormat; } else if (selectedFilter == htmlComplete) { format = QWebEngineDownloadItem::CompleteHtmlSaveFormat; } if (format != QWebEngineDownloadItem::UnknownSaveFormat) { downloadItem->setSavePageFormat(format); } } break; } case ExternalManager: startExternalManager(downloadItem->url()); // fallthrough default: downloadItem->cancel(); return; } } else { downloadPath = QzTools::ensureUniqueFilename(m_downloadPath + QL1C('/') + fileName); } if (downloadPath.isEmpty()) { downloadItem->cancel(); return; } // Set download path and accept downloadItem->setPath(downloadPath); downloadItem->accept(); // Create download item QListWidgetItem* listItem = new QListWidgetItem(ui->list); DownloadItem* downItem = new DownloadItem(listItem, downloadItem, QFileInfo(downloadPath).absolutePath(), QFileInfo(downloadPath).fileName(), openFile, this); connect(downItem, SIGNAL(deleteItem(DownloadItem*)), this, SLOT(deleteItem(DownloadItem*))); connect(downItem, SIGNAL(downloadFinished(bool)), this, SLOT(downloadFinished(bool))); ui->list->setItemWidget(listItem, downItem); listItem->setSizeHint(downItem->sizeHint()); downItem->show(); m_activeDownloadsCount++; emit downloadsCountChanged(); }
// Show export options dialog bool MOPAC71ControlModelPlugin::showExportOptionsDialog(KVMap& targetOptions) const { MOPAC71ControlExportOptionsDialog optionsDialog(targetOptions); return (optionsDialog.updateAndExecute() == QDialog::Accepted); }
// Show import options dialog bool DLP4TrajectoryPlugin::showImportOptionsDialog(KVMap& targetOptions) const { DLP4ImportOptionsDialog optionsDialog(targetOptions); return (optionsDialog.updateAndExecute() == QDialog::Accepted); }