diff options
author | Arno <arno@disconnect.de> | 2018-03-31 09:56:36 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2018-03-31 09:56:36 +0200 |
commit | b0702a8fe0eaeaef0577e0f07456ced2d132c528 (patch) | |
tree | 81c0fb60e6123354d4e7710d53fbb0e1db958f9f /fswidget.cpp | |
parent | b2b21c5790a3fcf5ecd4fddff40420f5bd2d2009 (diff) | |
download | SheMov-b0702a8fe0eaeaef0577e0f07456ced2d132c528.tar.gz SheMov-b0702a8fe0eaeaef0577e0f07456ced2d132c528.tar.bz2 SheMov-b0702a8fe0eaeaef0577e0f07456ced2d132c528.zip |
Add visual feedback to FSWidget
* show busy cursor when gathering data
* emit statusbarMessage() when gathering data
The latter shows a summary with the time it has taken to gather data,
the SQL query count and the number of files analyzed.
Diffstat (limited to 'fswidget.cpp')
-rw-r--r-- | fswidget.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/fswidget.cpp b/fswidget.cpp index f282a6c..53ef56e 100644 --- a/fswidget.cpp +++ b/fswidget.cpp @@ -12,6 +12,7 @@ #include <QDirIterator> #include <QJsonObject> #include <QSqlDatabase> +#include <QElapsedTimer> #include <QSettings> #include <QApplication> @@ -162,6 +163,12 @@ void FSWidget::removeItem(QComboBox *cb){ void FSWidget::gatherData(const QString &curDir){ //setup view + qApp->setOverrideCursor(Qt::BusyCursor); + mQueryCount = 0; + int fileCount = 0; + QElapsedTimer timer; + timer.start(); + emit message(tr("Gathering data...")); mFileView->setSortingEnabled(false); mFileView->setRootIsDecorated(false); mModel->clear(); @@ -191,6 +198,7 @@ void FSWidget::gatherData(const QString &curDir){ mFileView->setUpdatesEnabled(false); while(it.hasNext()){ QFileInfo fi = it.next(); + ++fileCount; QMimeType mimeType = mimedb.mimeTypeForFile(fi); QString mimeName = mimeType.name(); qint64 seconds = 0; @@ -262,6 +270,9 @@ void FSWidget::gatherData(const QString &curDir){ } mFileView->setUpdatesEnabled(true); mFileView->setSortingEnabled(true); + qApp->restoreOverrideCursor(); + QString msg = QString(tr("Analyzed %1 files in %2 ms using %3 queries").arg(QString::number(fileCount)).arg(QString::number(timer.elapsed())).arg(QString::number(mQueryCount))); + emit message(msg); } void FSWidget::advanceDir(int by){ @@ -276,12 +287,13 @@ void FSWidget::advanceDir(int by){ mDirCB->setCurrentIndex(nextIdx); } -int FSWidget::queryCount(QSqlQuery &q, const QString &arg) const{ +int FSWidget::queryCount(QSqlQuery &q, const QString &arg){ int retval = -1; q.bindValue(":arg", arg); q.exec(); while(q.next()){ retval = q.value(0).toInt(); } + ++mQueryCount; return retval; } |