From d3c5cf915f71ada6324277bc427796b9739c6cb8 Mon Sep 17 00:00:00 2001 From: Arno Date: Fri, 16 Dec 2011 11:52:56 +0100 Subject: DbAnalyzer first try Well, trying to join the consistencyChecker and the check for stray actors/genres. First try :) --- dbanalyzer.h | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 dbanalyzer.h (limited to 'dbanalyzer.h') diff --git a/dbanalyzer.h b/dbanalyzer.h new file mode 100644 index 0000000..2005c85 --- /dev/null +++ b/dbanalyzer.h @@ -0,0 +1,78 @@ +/* + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version + 2 of the License, or (at your option) any later version. +*/ + +#ifndef DBANALYZER_H +#define DBANALYZER_H + +#include +#include +#include +#include +#include +#include +#include + +class QSqlQuery; +class QTabWidget; +class QTreeView; +class QPushButton; +class SmTreeModel; +class DbAnalyzer; + +class DbAnalyzerDialog : public QDialog { + Q_OBJECT + public: + explicit DbAnalyzerDialog(QWidget *parent = 0, Qt::WindowFlags f = 0); + + signals: + void partClicked(int seriesPartId, int seriesId); + + private slots: + void cancelAnalyzer(); + void analyzerStarted(); + void analyzerFinished(); + void noActorsDoubleClicked(const QModelIndex &); + + private: + void populateNoActors(); + QTabWidget *mTab; + QTreeView *mNoActorsV; + SmTreeModel *mNoActorsM; + QPushButton *mClose; + QPushButton *mCancel; + DbAnalyzer *mAnalyzer; +}; + +class DbAnalyzer : public QThread { + Q_OBJECT + public: + enum Status { Ok, Fail }; + explicit DbAnalyzer(QObject *parent = 0); + ~DbAnalyzer(); + int status() { return mStatus; } + const QList > noActors() { return mNoActorR; } + + public slots: + void setCancel(bool canceled); + + signals: + void message(const QString &); + + protected: + void run(); + + private: + void noActorsCheck(); + QSqlDatabase mDb; + QSqlQuery *mNoActorQuery; + QList > mNoActorR; + QMutex mCancelMutex; + bool mCanceled; + int mStatus; +}; + +#endif // DBANALYZER_H -- cgit v1.2.3-70-g09d2