summaryrefslogtreecommitdiffstats
path: root/filewidget.cpp
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2016-12-06 12:14:47 +0100
committerArno <arno@disconnect.de>2016-12-06 12:14:47 +0100
commit997ed9156ba7a1942cebd487fd5cc2818220fa78 (patch)
tree3b9d5a63b9235e3fa9ce8e4f9078991fc14738b3 /filewidget.cpp
parenta68cf88e69c65014f2e528aa26db42b4808c3b64 (diff)
downloadShemovCleaner-997ed9156ba7a1942cebd487fd5cc2818220fa78.tar.gz
ShemovCleaner-997ed9156ba7a1942cebd487fd5cc2818220fa78.tar.bz2
ShemovCleaner-997ed9156ba7a1942cebd487fd5cc2818220fa78.zip
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 :)
Diffstat (limited to 'filewidget.cpp')
-rw-r--r--filewidget.cpp8
1 files changed, 8 insertions, 0 deletions
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<QString,QString> 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()){