diff options
Diffstat (limited to 'src/downloadmanagerwidget.cpp')
-rw-r--r-- | src/downloadmanagerwidget.cpp | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/src/downloadmanagerwidget.cpp b/src/downloadmanagerwidget.cpp index 6480e10..7f5b300 100644 --- a/src/downloadmanagerwidget.cpp +++ b/src/downloadmanagerwidget.cpp @@ -3,6 +3,7 @@ #include "downloadwidget.h"
#include <QFileDialog>
+#include <QStandardPaths>
#include <QWebEngineDownloadItem>
DownloadManagerWidget::DownloadManagerWidget(QWidget *parent)
@@ -14,23 +15,18 @@ void DownloadManagerWidget::downloadRequested( QWebEngineDownloadItem *download) {
Q_ASSERT(download &&
download->state() == QWebEngineDownloadItem::DownloadRequested);
- QString path;
-
- bool usenativeFileDialog =
- settings.value("useNativeFileDialog", false).toBool();
- if (usenativeFileDialog == false) {
- path = QFileDialog::getSaveFileName(this, tr("Save as"), download->downloadFileName(),
- tr("Any file (*)"), nullptr,
- QFileDialog::DontUseNativeDialog);
- } else {
- path = QFileDialog::getSaveFileName(this, tr("Save as"), download->downloadFileName(),
- tr("Any file (*)"), nullptr);
- }
-
- if (path.isEmpty())
- return;
-
- download->setDownloadFileName(path);
+ QString path =
+ settings
+ .value("defaultDownloadLocation",
+ QStandardPaths::writableLocation(
+ QStandardPaths::DownloadLocation) +
+ QDir::separator() + QApplication::applicationName())
+ .toString();
+ QDir d;
+ d.mkpath(path);
+
+ download->setDownloadFileName(path + QDir::separator() +
+ download->downloadFileName());
download->accept();
add(new DownloadWidget(download));
show();
|