diff options
author | 2022-02-28 18:08:28 +0530 | |
---|---|---|
committer | 2022-02-28 18:08:28 +0530 | |
commit | 9867a6b6279229d53fe59854a511c9eea9888427 (patch) | |
tree | cefdf3aa78e35741100a554f0fc25d75c4ef3065 /src/downloadwidget.cpp | |
parent | 020ac6daeac226da90bc0c884a9b22a7da9baa99 (diff) | |
download | whatsie-9867a6b6279229d53fe59854a511c9eea9888427.tar.gz whatsie-9867a6b6279229d53fe59854a511c9eea9888427.zip |
build: migrate to qt 5.15
Diffstat (limited to 'src/downloadwidget.cpp')
-rw-r--r-- | src/downloadwidget.cpp | 171 |
1 files changed, 81 insertions, 90 deletions
diff --git a/src/downloadwidget.cpp b/src/downloadwidget.cpp index 005ea1e..acfe732 100644 --- a/src/downloadwidget.cpp +++ b/src/downloadwidget.cpp @@ -4,105 +4,96 @@ #include <QUrl>
#include <QWebEngineDownloadItem>
-DownloadWidget::DownloadWidget(QWebEngineDownloadItem *download, QWidget *parent)
- : QFrame(parent)
- , m_download(download)
- , m_timeAdded(QTime::currentTime())
-{
- setupUi(this);
- m_dstName->setText(QFileInfo(m_download->path()).fileName());
- m_srcUrl->setText(m_download->url().toDisplayString());
+DownloadWidget::DownloadWidget(QWebEngineDownloadItem *download,
+ QWidget *parent)
+ : QFrame(parent), m_download(download) {
+ setupUi(this);
+ //m_timeAdded(QTime::currentTime());
+ m_dstName->setText(QFileInfo(m_download->downloadDirectory()).fileName());
+ m_srcUrl->setText(m_download->url().toDisplayString());
- connect(m_cancelButton, &QPushButton::clicked,
- [this](bool) {
- if (m_download->state() == QWebEngineDownloadItem::DownloadInProgress)
- m_download->cancel();
- else
- emit removeClicked(this);
- });
+ connect(m_cancelButton, &QPushButton::clicked, [this](bool) {
+ if (m_download->state() == QWebEngineDownloadItem::DownloadInProgress)
+ m_download->cancel();
+ else
+ emit removeClicked(this);
+ });
- connect(m_download, &QWebEngineDownloadItem::downloadProgress,
- this, &DownloadWidget::updateWidget);
+ connect(m_download, &QWebEngineDownloadItem::downloadProgress, this,
+ &DownloadWidget::updateWidget);
- connect(m_download, &QWebEngineDownloadItem::stateChanged,
- this, &DownloadWidget::updateWidget);
+ connect(m_download, &QWebEngineDownloadItem::stateChanged, this,
+ &DownloadWidget::updateWidget);
- updateWidget();
+ updateWidget();
}
-inline QString DownloadWidget::withUnit(qreal bytes)
-{
- if (bytes < (1 << 10))
- return tr("%L1 B").arg(bytes);
- else if (bytes < (1 << 20))
- return tr("%L1 KiB").arg(bytes / (1 << 10), 0, 'f', 2);
- else if (bytes < (1 << 30))
- return tr("%L1 MiB").arg(bytes / (1 << 20), 0, 'f', 2);
- else
- return tr("%L1 GiB").arg(bytes / (1 << 30), 0, 'f', 2);
+inline QString DownloadWidget::withUnit(qreal bytes) {
+ if (bytes < (1 << 10))
+ return tr("%L1 B").arg(bytes);
+ else if (bytes < (1 << 20))
+ return tr("%L1 KiB").arg(bytes / (1 << 10), 0, 'f', 2);
+ else if (bytes < (1 << 30))
+ return tr("%L1 MiB").arg(bytes / (1 << 20), 0, 'f', 2);
+ else
+ return tr("%L1 GiB").arg(bytes / (1 << 30), 0, 'f', 2);
}
-void DownloadWidget::updateWidget()
-{
- qreal totalBytes = m_download->totalBytes();
- qreal receivedBytes = m_download->receivedBytes();
- qreal bytesPerSecond = receivedBytes / m_timeAdded.elapsed() * 1000;
+void DownloadWidget::updateWidget() {
+ qreal totalBytes = m_download->totalBytes();
+ qreal receivedBytes = m_download->receivedBytes();
+ qreal bytesPerSecond = receivedBytes / m_timeAdded.elapsed() * 1000;
- auto state = m_download->state();
- switch (state) {
- case QWebEngineDownloadItem::DownloadRequested:
- Q_UNREACHABLE();
- break;
- case QWebEngineDownloadItem::DownloadInProgress:
- if (totalBytes >= 0) {
- m_progressBar->setValue(qRound(100 * receivedBytes / totalBytes));
- m_progressBar->setDisabled(false);
- m_progressBar->setFormat(
- tr("%p% - %1 of %2 downloaded - %3/s")
- .arg(withUnit(receivedBytes))
- .arg(withUnit(totalBytes))
- .arg(withUnit(bytesPerSecond)));
- } else {
- m_progressBar->setValue(0);
- m_progressBar->setDisabled(false);
- m_progressBar->setFormat(
- tr("unknown size - %1 downloaded - %2/s")
- .arg(withUnit(receivedBytes))
- .arg(withUnit(bytesPerSecond)));
- }
- break;
- case QWebEngineDownloadItem::DownloadCompleted:
- m_progressBar->setValue(100);
- m_progressBar->setDisabled(true);
- m_progressBar->setFormat(
- tr("completed - %1 downloaded - %2/s")
- .arg(withUnit(receivedBytes))
- .arg(withUnit(bytesPerSecond)));
- break;
- case QWebEngineDownloadItem::DownloadCancelled:
- m_progressBar->setValue(0);
- m_progressBar->setDisabled(true);
- m_progressBar->setFormat(
- tr("cancelled - %1 downloaded - %2/s")
- .arg(withUnit(receivedBytes))
- .arg(withUnit(bytesPerSecond)));
- break;
- case QWebEngineDownloadItem::DownloadInterrupted:
- m_progressBar->setValue(0);
- m_progressBar->setDisabled(true);
- m_progressBar->setFormat(
- tr("interrupted: %1")
- .arg(m_download->interruptReasonString()));
- break;
- }
-
- if (state == QWebEngineDownloadItem::DownloadInProgress) {
- static QIcon cancelIcon(QStringLiteral(":/icons/stop-line.png"));
- m_cancelButton->setIcon(cancelIcon);
- m_cancelButton->setToolTip(tr("Stop downloading"));
+ auto state = m_download->state();
+ switch (state) {
+ case QWebEngineDownloadItem::DownloadRequested:
+ Q_UNREACHABLE();
+ break;
+ case QWebEngineDownloadItem::DownloadInProgress:
+ if (totalBytes >= 0) {
+ m_progressBar->setValue(qRound(100 * receivedBytes / totalBytes));
+ m_progressBar->setDisabled(false);
+ m_progressBar->setFormat(tr("%p% - %1 of %2 downloaded - %3/s")
+ .arg(withUnit(receivedBytes))
+ .arg(withUnit(totalBytes))
+ .arg(withUnit(bytesPerSecond)));
} else {
- static QIcon removeIcon(QStringLiteral(":/icons/close-fill.png"));
- m_cancelButton->setIcon(removeIcon);
- m_cancelButton->setToolTip(tr("Remove from list"));
+ m_progressBar->setValue(0);
+ m_progressBar->setDisabled(false);
+ m_progressBar->setFormat(tr("unknown size - %1 downloaded - %2/s")
+ .arg(withUnit(receivedBytes))
+ .arg(withUnit(bytesPerSecond)));
}
+ break;
+ case QWebEngineDownloadItem::DownloadCompleted:
+ m_progressBar->setValue(100);
+ m_progressBar->setDisabled(true);
+ m_progressBar->setFormat(tr("completed - %1 downloaded - %2/s")
+ .arg(withUnit(receivedBytes))
+ .arg(withUnit(bytesPerSecond)));
+ break;
+ case QWebEngineDownloadItem::DownloadCancelled:
+ m_progressBar->setValue(0);
+ m_progressBar->setDisabled(true);
+ m_progressBar->setFormat(tr("cancelled - %1 downloaded - %2/s")
+ .arg(withUnit(receivedBytes))
+ .arg(withUnit(bytesPerSecond)));
+ break;
+ case QWebEngineDownloadItem::DownloadInterrupted:
+ m_progressBar->setValue(0);
+ m_progressBar->setDisabled(true);
+ m_progressBar->setFormat(
+ tr("interrupted: %1").arg(m_download->interruptReasonString()));
+ break;
+ }
+
+ if (state == QWebEngineDownloadItem::DownloadInProgress) {
+ static QIcon cancelIcon(QStringLiteral(":/icons/stop-line.png"));
+ m_cancelButton->setIcon(cancelIcon);
+ m_cancelButton->setToolTip(tr("Stop downloading"));
+ } else {
+ static QIcon removeIcon(QStringLiteral(":/icons/close-fill.png"));
+ m_cancelButton->setIcon(removeIcon);
+ m_cancelButton->setToolTip(tr("Remove from list"));
+ }
}
|