From 8c25c63acf839b09e10d398cfa44d5a45d3ba7c0 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sun, 15 Jan 2017 15:39:42 +0100 Subject: Download manager --- src/forms/downloaddialog.cpp | 46 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/forms/downloaddialog.cpp (limited to 'src/forms/downloaddialog.cpp') diff --git a/src/forms/downloaddialog.cpp b/src/forms/downloaddialog.cpp new file mode 100644 index 0000000..4943fcc --- /dev/null +++ b/src/forms/downloaddialog.cpp @@ -0,0 +1,46 @@ +#include "downloaddialog.h" +#include "ui_downloaddialog.h" + +#include +#include +#include +#include +#include +#include "webengine/downloaditemform.h" + +DownloadDialog::DownloadDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::DownloadDialog) +{ + ui->setupUi(this); +} + +DownloadDialog::~DownloadDialog() +{ + delete ui; +} + +void DownloadDialog::addDownload(QWebEngineDownloadItem *item) +{ + qDebug("download item: %s", qUtf8Printable(item->url().toString())); + QString filepath = QFileDialog::getSaveFileName(this, tr("Save")); + + if(filepath.isEmpty()) { + // user cancelled the save dialog + item->cancel(); + return; + } + + item->setPath(filepath); + + QListWidgetItem *listItem = new QListWidgetItem(); + int rowIndex = ui->listWidget->count(); + ui->listWidget->insertItem(rowIndex, listItem); + + DownloadItemForm *form = new DownloadItemForm(item, this); + listItem->setSizeHint(form->size()); + ui->listWidget->setItemWidget(listItem, form); + + item->accept(); + this->show(); +} -- cgit v1.2.1