#include "downloaditemform.h" #include "ui_downloaditemform.h" #include #include DownloadItemForm::DownloadItemForm(QWebEngineDownloadItem *item, QWidget *parent) : QWidget(parent), ui(new Ui::DownloadItemForm) { ui->setupUi(this); ui->url_lineEdit->setText(item->url().toString()); connect(item, SIGNAL(stateChanged(QWebEngineDownloadItem::DownloadState)), this, SLOT(updateState(QWebEngineDownloadItem::DownloadState))); connect(item, SIGNAL(downloadProgress(qint64,qint64)), this, SLOT(updateProgress(qint64,qint64))); connect(item, SIGNAL(finished()), this, SLOT(updateFinished())); } DownloadItemForm::~DownloadItemForm() { delete ui; } void DownloadItemForm::updateState(QWebEngineDownloadItem::DownloadState state) { switch (state) { case QWebEngineDownloadItem::DownloadRequested: ui->status_label->setText(tr("Requested")); break; case QWebEngineDownloadItem::DownloadInProgress: ui->status_label->setText(tr("In progress")); break; case QWebEngineDownloadItem::DownloadCompleted: ui->status_label->setText(tr("Completed")); break; case QWebEngineDownloadItem::DownloadCancelled: ui->status_label->setText(tr("Cancelled")); break; case QWebEngineDownloadItem::DownloadInterrupted: ui->status_label->setText(tr("Interrupted")); break; default: break; } } void DownloadItemForm::updateProgress(qint64 value, qint64 total) { ui->progressBar->setMaximum(total); ui->progressBar->setValue(value); } void DownloadItemForm::updateFinished() { ui->progressBar->setMaximum(100); ui->progressBar->setValue(100); }