diff options
Diffstat (limited to 'consistencycheck.h')
-rw-r--r-- | consistencycheck.h | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/consistencycheck.h b/consistencycheck.h index b62dfbc..ca078f1 100644 --- a/consistencycheck.h +++ b/consistencycheck.h @@ -23,6 +23,7 @@ class QString; class QSqlQuery; class QFileInfo; class ConsistencyChecker; +class QProgressBar; class ConsistencyCheck : public SmDialog { Q_OBJECT @@ -30,6 +31,10 @@ class ConsistencyCheck : public SmDialog { enum Mode { DbCheck, FsCheck }; explicit ConsistencyCheck(QWidget *parent = 0, Qt::WindowFlags f = 0); + public slots: + void setProgressBarMax(int max); + void setProgress(int value); + private slots: void startChecker(int checkerType); void addMessage(const QString &message); @@ -46,6 +51,8 @@ class ConsistencyCheck : public SmDialog { QPushButton *mCleanup; QPlainTextEdit *mOkDisplay; QPlainTextEdit *mErrorDisplay; + QLabel *mActivity; + QProgressBar *mProgress; ConsistencyChecker *mChecker; }; @@ -56,32 +63,39 @@ class ConsistencyChecker : public QThread { explicit ConsistencyChecker(QObject *parent = 0); ~ConsistencyChecker(); int mode() const { return mMode; } + int count() const { return mCurCount; } void setMode(int mode) { mMode = mode; } int status() const { return mStatus; } void setStatus(int status) { mStatus = status; } void check(); const QStringList strayFiles(); void clearStrayFiles(); - const QList<int> strayIds(); + const QList<int> strayFileIds(); + const QList<int> strayPicIds(); void clearStrayIds(); public slots: void setCancel(bool cancel); - void deleteIds(const QList<int> &ids); + void deleteFileIds(const QList<int> &ids); + void deletePicIds(const QList<int> &ids); private slots: - void dbCheck(); + void dbCheck(); void fsCheck(); signals: void consistencyMsg(const QString &msg); + void approxTotal(int); + void progress(int); protected: void run(); private: QString archivePath(const QString &fileName, const QString &md5sum) const; - void doFsCheck(const QFileInfo &start); + void doFsCheck(const QFileInfo &start, const QVector<QString> &md5sums); + void doDbCheckFiles(); + void doDbCheckPics(); bool mCanceled; int mMode; int mStatus; @@ -89,9 +103,12 @@ class ConsistencyChecker : public QThread { QSqlQuery *mFileQuery; QMutex mCancelMutex; QMutex mStrayFilesMutex; - QMutex mStrayIdsMutex; + QMutex mStrayFileIdMutex; + QMutex mStrayPicsIdMutex; QStringList mStrayFiles; - QList<int> mStrayIds; + QList<int> mStrayFileIds; + QList<int> mStrayPicIds; + int mCurCount; }; #endif // CONSISTENCYCHECK_H |