From 997ed9156ba7a1942cebd487fd5cc2818220fa78 Mon Sep 17 00:00:00 2001 From: Arno Date: Tue, 6 Dec 2016 12:14:47 +0100 Subject: Add a summary to ProgressDialog Show how many files we have, and display the transfer rate in Megabytes per second. Can't believe that it worked right from the start :) --- filewidget.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'filewidget.cpp') diff --git a/filewidget.cpp b/filewidget.cpp index a539f82..6b5770f 100644 --- a/filewidget.cpp +++ b/filewidget.cpp @@ -47,6 +47,7 @@ FileWidget::FileWidget(QWidget *parent) : QWidget(parent), mCopyToMenu(0), mCopy mCopyProgress = new ProgressDialog; connect(mFileCopier, SIGNAL(newFile(QString,QString,qint64)), this, SLOT(setupProgress(QString,QString,qint64))); connect(mFileCopier, SIGNAL(bytesRead(qint64)), this, SLOT(setCopyProgress(qint64))); + connect(mFileCopier, SIGNAL(bytesReadIntval(qint64,qint64)), this, SLOT(setCopySummary(qint64,qint64))); connect(mFileCopier, SIGNAL(finished()), this, SLOT(hideCopyProgress())); connect(mFileCopier, SIGNAL(success(bool,QString)), this, SLOT(copySuccess(bool,QString))); connect(mCopyProgress, SIGNAL(cancelled()), this, SLOT(hideCopyProgress())); @@ -526,6 +527,13 @@ void FileWidget::setCopyProgress(qint64 bytes){ mCopyProgress->setValue(val); } +void FileWidget::setCopySummary(qint64 bytes, qint64 elapsed){ + QHash jobs = mFileCopier->jobs(); + float rate = bytes / (elapsed / 1000) / 1024 / 1024.0; + QString sum = QString("%1 file(s), @ %2 MB/s").arg(QString::number(jobs.count() + 1)).arg(QString::number(rate, 'f', 2)); + mCopyProgress->setSummary(sum); +} + void FileWidget::copyFiles(QString destDir){ QModelIndexList files = mFileView->selectionModel()->selectedRows(); if(!files.isEmpty()){ -- cgit v1.2.3-70-g09d2