summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dbanalyzer.cpp28
-rw-r--r--dbanalyzer.h3
2 files changed, 28 insertions, 3 deletions
diff --git a/dbanalyzer.cpp b/dbanalyzer.cpp
index 8ebb4b5..82ef4e7 100644
--- a/dbanalyzer.cpp
+++ b/dbanalyzer.cpp
@@ -14,6 +14,7 @@
#include <QMutexLocker>
#include <QTableWidget>
#include <QModelIndex>
+#include <QLabel>
#include "dbanalyzer.h"
#include "smtreemodel.h"
@@ -60,7 +61,7 @@ DbAnalyzerDialog::DbAnalyzerDialog(QWidget *parent, Qt::WindowFlags f) : QDialog
mStrayActorsV->setAlternatingRowColors(true);
strayActorsT->setLayout(strayActorsL);
- //strac genres
+ //stray genres
QWidget *strayGenresT = new QWidget;
QStringList strayGenresHeaders = QStringList() << tr("Genre") << tr("Genre Id") << tr("Count");
mStrayGenresV = new QTreeView;
@@ -90,14 +91,26 @@ DbAnalyzerDialog::DbAnalyzerDialog(QWidget *parent, Qt::WindowFlags f) : QDialog
mTab->addTab(noActorsT, tr("No Actors"));
mTab->addTab(strayActorsT, tr("Stray actors"));
mTab->addTab(strayGenresT, tr("Stray genres"));
- QVBoxLayout *mainLayout = new QVBoxLayout;
- mainLayout->addWidget(mTab);
+
+
+ //buttons
QHBoxLayout *buttonLayout = new QHBoxLayout;
buttonLayout->addWidget(mCancel);
buttonLayout->addWidget(mRefresh);
buttonLayout->addStretch();
buttonLayout->addWidget(mDelete);
buttonLayout->addWidget(mClose);
+
+ //totals
+ mTotal = new QLabel(tr("<b>Total items: 0</b>"));
+ mTotal->setAlignment(Qt::AlignCenter);
+ QHBoxLayout *totalLayout = new QHBoxLayout;
+ totalLayout->addWidget(mTotal);
+
+ //setup dialog
+ QVBoxLayout *mainLayout = new QVBoxLayout;
+ mainLayout->addWidget(mTab);
+ mainLayout->addLayout(totalLayout);
mainLayout->addLayout(buttonLayout);
setLayout(mainLayout);
setMinimumWidth(500);
@@ -106,6 +119,9 @@ DbAnalyzerDialog::DbAnalyzerDialog(QWidget *parent, Qt::WindowFlags f) : QDialog
connect(mTab, SIGNAL(currentChanged(int)), this, SLOT(tabChanged(int)));
connect(mAnalyzer, SIGNAL(started()), this, SLOT(analyzerStarted()));
connect(mAnalyzer, SIGNAL(finished()), this, SLOT(analyzerFinished()));
+ for(int i = 0; i < mTab->count(); ++i){
+ mTotals << QString();
+ }
mAnalyzer->start();
}
@@ -132,6 +148,11 @@ void DbAnalyzerDialog::analyzerFinished(){
populate(mNoActorsV, mNoActorsM, mAnalyzer->noActors());
populate(mStrayActorsV, mStrayActorsM, mAnalyzer->strayActors());
populate(mStrayGenresV, mStrayGenresM, mAnalyzer->strayGenres());
+ QString totalString = QString(tr("<b>Total items: %1</b>"));
+ mTotals[0] = totalString.arg(QString::number(mAnalyzer->noActors().count()));
+ mTotals[1] = totalString.arg(QString::number(mAnalyzer->strayActors().count()));
+ mTotals[2] = totalString.arg(QString::number(mAnalyzer->strayGenres().count()));
+ mTotal->setText(mTotals.at(mTab->currentIndex()));
}
void DbAnalyzerDialog::noActorsDoubleClicked(const QModelIndex &idx){
@@ -173,6 +194,7 @@ void DbAnalyzerDialog::deleteItems(){
void DbAnalyzerDialog::tabChanged(int index){
mDelete->setEnabled(index != 0);
+ mTotal->setText(mTotals.at(index));
}
void DbAnalyzerDialog::populate(QTreeView *view, SmTreeModel *model, const QList<QList<QVariant> > &data){
diff --git a/dbanalyzer.h b/dbanalyzer.h
index 4b693e0..fd19b11 100644
--- a/dbanalyzer.h
+++ b/dbanalyzer.h
@@ -22,6 +22,7 @@ class QTreeView;
class QPushButton;
class SmTreeModel;
class DbAnalyzer;
+class QLabel;
class DbAnalyzerDialog : public QDialog {
Q_OBJECT
@@ -57,6 +58,8 @@ class DbAnalyzerDialog : public QDialog {
QPushButton *mCancel;
QPushButton *mDelete;
QPushButton *mRefresh;
+ QLabel *mTotal;
+ QList<QString> mTotals;
DbAnalyzer *mAnalyzer;
};