From 621e72e606f88739a67ce6efc4832e0abdc34ffa Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 17 Dec 2011 08:19:34 +0100 Subject: Implemented delete stray actors Added a tab to DbAnalyzerDialog for actors that aren't associated with a movie and make it possible to delete them. --- dbanalyzer.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'dbanalyzer.h') diff --git a/dbanalyzer.h b/dbanalyzer.h index 2005c85..b300c3a 100644 --- a/dbanalyzer.h +++ b/dbanalyzer.h @@ -26,24 +26,31 @@ class DbAnalyzer; class DbAnalyzerDialog : public QDialog { Q_OBJECT public: + enum DeleteMode { Actors, Genres }; explicit DbAnalyzerDialog(QWidget *parent = 0, Qt::WindowFlags f = 0); signals: void partClicked(int seriesPartId, int seriesId); + void delItems(int mode, QList &ids); private slots: void cancelAnalyzer(); void analyzerStarted(); void analyzerFinished(); void noActorsDoubleClicked(const QModelIndex &); + void deleteItems(); + void tabChanged(int index); private: - void populateNoActors(); + void populate(QTreeView *view ,SmTreeModel *model, const QList > &data); QTabWidget *mTab; QTreeView *mNoActorsV; + QTreeView *mStrayActorsV; SmTreeModel *mNoActorsM; + SmTreeModel *mStrayActorsM; QPushButton *mClose; QPushButton *mCancel; + QPushButton *mDelete; DbAnalyzer *mAnalyzer; }; @@ -55,6 +62,7 @@ class DbAnalyzer : public QThread { ~DbAnalyzer(); int status() { return mStatus; } const QList > noActors() { return mNoActorR; } + const QList > strayActors() { return mStrayActorR; } public slots: void setCancel(bool canceled); @@ -67,10 +75,14 @@ class DbAnalyzer : public QThread { private: void noActorsCheck(); + void strayActorsCheck(); QSqlDatabase mDb; QSqlQuery *mNoActorQuery; + QSqlQuery *mStrayActorsQuery; QList > mNoActorR; + QList > mStrayActorR; QMutex mCancelMutex; + QMutex mStatusMutex; bool mCanceled; int mStatus; }; -- cgit v1.2.3-70-g09d2