#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(); }