diff options
-rw-r--r-- | fswidget.cpp | 14 | ||||
-rw-r--r-- | fswidget.h | 6 | ||||
-rw-r--r-- | shemov.cpp | 1 |
3 files changed, 19 insertions, 2 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; } @@ -24,7 +24,10 @@ class FSWidget : public QWidget { void removeItem(QComboBox *cb); void gatherData(const QString &curDir); void advanceDir(int by); - int queryCount(QSqlQuery &q, const QString &arg) const; + int queryCount(QSqlQuery &q, const QString &arg); + + signals: + void message(QString msg); private: void setupWidget(); @@ -33,6 +36,7 @@ class FSWidget : public QWidget { QTreeView *mFileView; QStandardItemModel *mModel; QSortFilterProxyModel *mProxy; + int mQueryCount; }; #endif // FSWIDGET_H @@ -64,6 +64,7 @@ SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, fla connect(this, &SheMov::configChanged, mFSWidget, &FilesystemWidget::configChanged); mFileWidget = new FSWidget; mTab->addTab(mFileWidget, tr("FS")); + connect(mFileWidget, &FSWidget::message, this, &SheMov::statusbarMessage); //experimental splash.showMessage(tr("Creating Movie archive..."), Qt::AlignHCenter, Qt::yellow); |