summaryrefslogtreecommitdiffstats
path: root/fswidget.cpp
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2018-03-31 09:56:36 +0200
committerArno <arno@disconnect.de>2018-03-31 09:56:36 +0200
commitb0702a8fe0eaeaef0577e0f07456ced2d132c528 (patch)
tree81c0fb60e6123354d4e7710d53fbb0e1db958f9f /fswidget.cpp
parentb2b21c5790a3fcf5ecd4fddff40420f5bd2d2009 (diff)
downloadSheMov-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.cpp14
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;
}