summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--filewidget.cpp11
-rw-r--r--filewidget.h3
-rw-r--r--shemovcleaner.cpp38
-rw-r--r--shemovcleaner.h3
4 files changed, 23 insertions, 32 deletions
diff --git a/filewidget.cpp b/filewidget.cpp
index ebafd80..c92f2df 100644
--- a/filewidget.cpp
+++ b/filewidget.cpp
@@ -25,6 +25,7 @@
#include <QGroupBox>
#include <QKeyEvent>
#include <QMessageBox>
+#include <QProgressBar>
#include "filewidget.h"
#include "filesorter.h"
@@ -33,7 +34,6 @@
FileWidget::FileWidget(QWidget *parent) : QWidget(parent) {
setupGui();
- gatherData();
}
FileWidget::~FileWidget(){
@@ -136,10 +136,15 @@ void FileWidget::gatherData(){
QMimeDatabase db;
qApp->setOverrideCursor(Qt::BusyCursor);
- emit statusMessage(QString(tr("Gathering data...")));
+ QString gatherMsg(tr("Gathering data: %1"));
+ mProgressBar->reset();
+ mProgressBar->setMinimum(0);
+ mProgressBar->setMaximum(fl.count() - 1);
+ int count = 0;
qApp->processEvents();
foreach(QFileInfo fi, fl){
+ emit statusMessage(gatherMsg.arg(fi.fileName()));
QMimeType mime = db.mimeTypeForFile(fi);
QList<QStandardItem*> fData;
FileAttrs attr = NotPresent;
@@ -200,6 +205,8 @@ void FileWidget::gatherData(){
fData[i]->setData(md5, MD5SumRole);
}
root->appendRow(fData);
+ ++count;
+ mProgressBar->setValue(count);
}
readHeaderData();
qApp->restoreOverrideCursor();
diff --git a/filewidget.h b/filewidget.h
index 26e02a8..11be6c0 100644
--- a/filewidget.h
+++ b/filewidget.h
@@ -12,6 +12,7 @@
class QLineEdit;
class QStandardItemModel;
class QTreeView;
+class QProgressBar;
class VideoSorter;
class FileDisplay;
class QKeyEvent;
@@ -27,6 +28,7 @@ class FileWidget : public QWidget {
QTreeView *fileView() { return mFileView; }
QMenuBar *menuBar() { return mMenuBar; }
QToolBar *toolBar() { return mToolBar; }
+ void setProgressBar(QProgressBar *progressBar) { mProgressBar = progressBar; }
~FileWidget();
signals:
@@ -72,6 +74,7 @@ class FileWidget : public QWidget {
FileDisplay *mFileDisplay;
QMenuBar *mMenuBar;
QToolBar *mToolBar;
+ QProgressBar *mProgressBar;
QString mLastDir;
};
diff --git a/shemovcleaner.cpp b/shemovcleaner.cpp
index f2cdbd2..dc45fc6 100644
--- a/shemovcleaner.cpp
+++ b/shemovcleaner.cpp
@@ -12,6 +12,7 @@
#include <QTreeView>
#include <QSettings>
#include <QKeyEvent>
+#include <QProgressBar>
#include "shemovcleaner.h"
#include "torrentwidget.h"
@@ -25,15 +26,17 @@ ShemovCleaner::ShemovCleaner(QWidget *parent, Qt::WindowFlags f) : QMainWindow(p
setMinimumWidth(800);
setMinimumHeight(600);
openDatabase();
+ createStatusBar();
mTorrentTab = new TorrentWidget;
mTab = new QTabWidget;
mFileTab = new FileWidget;
- mTab->addTab(mTorrentTab, tr("Torrents"));
- mTab->addTab(mFileTab, tr("Files"));
+ mFileTab->setProgressBar(mProgressBar);
+ mFileTab->gatherData();
+ mTab->addTab(mTorrentTab, tr("&Torrents"));
+ mTab->addTab(mFileTab, tr("Fi&les"));
setCentralWidget(mTab);
- createStatusBar();
createActions();
connect(mTorrentTab, SIGNAL(statusMessage(QString)), this, SLOT(statusBarMessage(QString)));
connect(mTorrentTab, SIGNAL(selectionCountChanged(QString)), this, SLOT(setSelectionCount(QString)));
@@ -83,32 +86,6 @@ void ShemovCleaner::closeEvent(QCloseEvent *e){
QMainWindow::closeEvent(e);
}
-void ShemovCleaner::keyPressEvent(QKeyEvent *e){
- //Yes, this could be much more terse, but this is readable!
- if(e->key() == Qt::Key_Left && (e->modifiers() & Qt::AltModifier)){
- int curTabIdx = mTab->currentIndex();
- if(curTabIdx - 1 < 0){
- curTabIdx = mTab->count() - 1;
- }else{
- --curTabIdx;
- }
- mTab->setCurrentIndex(curTabIdx);
- e->accept();
- return;
- }
- if(e->key() == Qt::Key_Right && (e->modifiers() & Qt::AltModifier)){
- int curTabIdx = mTab->currentIndex();
- if(curTabIdx + 1 >= mTab->count()){
- curTabIdx = 0;
- }else{
- ++curTabIdx;
- }
- mTab->setCurrentIndex(curTabIdx);
- e->accept();
- return;
- }
-}
-
void ShemovCleaner::createStatusBar(){
QLabel *l1 = new QLabel(tr("Sel."));
mSelected = new QLabel("000/000");
@@ -116,6 +93,9 @@ void ShemovCleaner::createStatusBar(){
QLabel *l2 = new QLabel(tr("Dur."));
mDuration = new QLabel("00:00:00");
mDuration->setFrameStyle(QFrame::Panel | QFrame::Sunken);
+ mProgressBar = new QProgressBar;
+ mProgressBar->setMaximumWidth(150);
+ statusBar()->addPermanentWidget(mProgressBar);
statusBar()->addPermanentWidget(l1);
statusBar()->addPermanentWidget(mSelected);
statusBar()->addPermanentWidget(l2);
diff --git a/shemovcleaner.h b/shemovcleaner.h
index 7ffdec5..9828e32 100644
--- a/shemovcleaner.h
+++ b/shemovcleaner.h
@@ -9,6 +9,7 @@ class FileWidget;
class QLabel;
class QAction;
class QKeyEvent;
+class QProgressBar;
class ShemovCleaner : public QMainWindow {
Q_OBJECT
@@ -25,7 +26,6 @@ class ShemovCleaner : public QMainWindow {
protected:
virtual void closeEvent(QCloseEvent *e);
- virtual void keyPressEvent(QKeyEvent *e);
private:
void createStatusBar();
@@ -34,6 +34,7 @@ class ShemovCleaner : public QMainWindow {
QAction *createSeparator();
QLabel *mSelected;
QLabel *mDuration;
+ QProgressBar *mProgressBar;
QTabWidget *mTab;
TorrentWidget *mTorrentTab;
FileWidget *mFileTab;