summaryrefslogtreecommitdiffstats
path: root/consistencycheck.h
diff options
context:
space:
mode:
Diffstat (limited to 'consistencycheck.h')
-rw-r--r--consistencycheck.h29
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