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/webengine/downloaditemform.cpp | 57 ++++++++++++++++++++++++++++++++++++++ src/webengine/downloaditemform.h | 28 +++++++++++++++++++ src/webengine/downloaditemform.ui | 57 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 142 insertions(+) create mode 100644 src/webengine/downloaditemform.cpp create mode 100644 src/webengine/downloaditemform.h create mode 100644 src/webengine/downloaditemform.ui (limited to 'src/webengine') diff --git a/src/webengine/downloaditemform.cpp b/src/webengine/downloaditemform.cpp new file mode 100644 index 0000000..717a41d --- /dev/null +++ b/src/webengine/downloaditemform.cpp @@ -0,0 +1,57 @@ +#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); +} diff --git a/src/webengine/downloaditemform.h b/src/webengine/downloaditemform.h new file mode 100644 index 0000000..996b876 --- /dev/null +++ b/src/webengine/downloaditemform.h @@ -0,0 +1,28 @@ +#ifndef DOWNLOADITEMFORM_H +#define DOWNLOADITEMFORM_H + +#include +#include + +namespace Ui { +class DownloadItemForm; +} + +class DownloadItemForm : public QWidget +{ + Q_OBJECT + +public: + explicit DownloadItemForm(QWebEngineDownloadItem *item, QWidget *parent = 0); + ~DownloadItemForm(); + +private slots: + void updateState(QWebEngineDownloadItem::DownloadState state); + void updateProgress(qint64 value, qint64 total); + void updateFinished(); + +private: + Ui::DownloadItemForm *ui; +}; + +#endif // DOWNLOADITEMFORM_H diff --git a/src/webengine/downloaditemform.ui b/src/webengine/downloaditemform.ui new file mode 100644 index 0000000..5aa46bd --- /dev/null +++ b/src/webengine/downloaditemform.ui @@ -0,0 +1,57 @@ + + + DownloadItemForm + + + + 0 + 0 + 600 + 80 + + + + Form + + + + + + + + URL + + + + + + + false + + + + + + + + + + + Unknown + + + + + + + 24 + + + + + + + + + + -- cgit v1.2.1