summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--moviewidget.cpp36
1 files changed, 24 insertions, 12 deletions
diff --git a/moviewidget.cpp b/moviewidget.cpp
index 3dea463..ec4edd4 100644
--- a/moviewidget.cpp
+++ b/moviewidget.cpp
@@ -70,6 +70,7 @@ void MovieWidget::setupWidget(){
mTopModel = new QStandardItemModel;
mTopProxy = new QSortFilterProxyModel;
mTopProxy->setSourceModel(mTopModel);
+ mTopProxy->setFilterKeyColumn(1);
mTopView->setModel(mTopProxy);
connect(mTopView->selectionModel(), &QItemSelectionModel::selectionChanged, this, &MovieWidget::topSelectionChanged);
@@ -109,7 +110,7 @@ void MovieWidget::populateBySeries(){
mTopView->setSortingEnabled(false);
mTopView->setUpdatesEnabled(false);
mTopModel->clear();
- mTopModel->setHorizontalHeaderLabels(QStringList() << tr("Series"));
+ mTopModel->setHorizontalHeaderLabels(QStringList() << tr("Ct.") << tr("Series"));
QFont f("courier new");
QBrush blackBrush(Qt::black);
QBrush greenBrush(Qt::darkGreen);
@@ -126,11 +127,10 @@ void MovieWidget::populateBySeries(){
if(!seriesQ.value(4).toString().isEmpty()){
series.append(QString(" - %1").arg(seriesQ.value(4).toString()));
}
- series.append(QString(tr(" (%1)")).arg(QString::number(seriesQ.value(5).toInt())));
if(seriesQ.value(3).toBool()){
currentBrush = greenBrush;
}
- for(int i = 0; i < 1; ++i){
+ for(int i = 0; i < 2; ++i){
QStandardItem *item = new QStandardItem;
item->setForeground(currentBrush);
item->setData(seriesQ.value(1), SeriesPartIdRole);
@@ -138,10 +138,14 @@ void MovieWidget::populateBySeries(){
item->setFont(f);
items << item;
}
- items[0]->setText(series);
+ QString countStr = QString("%1").arg(seriesQ.value(5).toInt(), 2, 10, QChar('0'));
+ items[0]->setText(countStr);
items[0]->setIcon(QIcon(":/bizarre_amputee.png"));
+ items[1]->setText(series);
root->appendRow(items);
}
+ mTopView->resizeColumnToContents(0);
+ mTopView->resizeColumnToContents(1);
mTopView->setUpdatesEnabled(true);
mTopView->setSortingEnabled(true);
qApp->restoreOverrideCursor();
@@ -152,13 +156,13 @@ void MovieWidget::populateByActors(){
mTopView->setSortingEnabled(false);
mTopView->setUpdatesEnabled(false);
mTopModel->clear();
- mTopModel->setHorizontalHeaderLabels(QStringList() << tr("Series"));
+ mTopModel->setHorizontalHeaderLabels(QStringList() << tr("Ct.") << tr("Series"));
QFont f("courier new");
QBrush blackBrush(Qt::black);
QBrush greenBrush(Qt::darkGreen);
QStandardItem *root = mTopModel->invisibleRootItem();
QSqlDatabase db = QSqlDatabase::database("treedb");
- QSqlQuery actorsQ("SELECT actors.tactorname, seriesparts_actormap.iseriesparts_id, series.tseries_name, seriesparts.iseriesparts_id, seriesparts.iseriespart, seriesparts.bfavorite, seriesparts.tsubtitle FROM actors, seriesparts_actormap, series, seriesparts WHERE actors.iactors_id = seriesparts_actormap.iactors_id AND seriesparts_actormap.iseriesparts_id = seriesparts.iseriesparts_id AND seriesparts.iseries_id = series.iseries_id ORDER BY actors.tactorname, series.tseries_name", db);
+ QSqlQuery actorsQ("SELECT actors.tactorname, seriesparts_actormap.iseriesparts_id, series.tseries_name, seriesparts.iseriesparts_id, seriesparts.iseriespart, seriesparts.bfavorite, seriesparts.tsubtitle, COUNT(files.*) FROM actors, seriesparts_actormap, series, seriesparts, files WHERE actors.iactors_id = seriesparts_actormap.iactors_id AND seriesparts_actormap.iseriesparts_id = seriesparts.iseriesparts_id AND seriesparts.iseries_id = series.iseries_id AND seriesparts.iseriesparts_id = files.iseriespart_id GROUP BY actors.tactorname, seriesparts_actormap.iseriesparts_id, series.tseries_name, seriesparts.iseriesparts_id, seriesparts.iseriespart, seriesparts.bfavorite, seriesparts.tsubtitle ORDER BY actors.tactorname, series.tseries_name, seriesparts.iseriespart, seriesparts.tsubtitle", db);
while(actorsQ.next()){
QBrush currentBrush = blackBrush;
QList<QStandardItem*> items;
@@ -173,17 +177,21 @@ void MovieWidget::populateByActors(){
if(actorsQ.value(5).toBool()){
currentBrush = greenBrush;
}
- for(int i = 0; i < 1; ++i){
+ for(int i = 0; i < 2; ++i){
QStandardItem *item = new QStandardItem;
item->setForeground(currentBrush);
item->setData(actorsQ.value(1), SeriesPartIdRole);
item->setFont(f);
items << item;
}
- items[0]->setText(actor);
+ QString countStr = QString("%1").arg(actorsQ.value(7).toInt(), 2, 10, QChar('0'));
+ items[0]->setText(countStr);
items[0]->setIcon(QIcon(":/bizarre_amputee.png"));
+ items[1]->setText(actor);
root->appendRow(items);
}
+ mTopView->resizeColumnToContents(0);
+ mTopView->resizeColumnToContents(1);
mTopView->setUpdatesEnabled(true);
mTopView->setSortingEnabled(true);
qApp->restoreOverrideCursor();
@@ -194,13 +202,13 @@ void MovieWidget::populateByGenres(){
mTopView->setSortingEnabled(false);
mTopView->setUpdatesEnabled(false);
mTopModel->clear();
- mTopModel->setHorizontalHeaderLabels(QStringList() << tr("Series"));
+ mTopModel->setHorizontalHeaderLabels(QStringList() << tr("Ct.") << tr("Series"));
QFont f("courier new");
QBrush blackBrush(Qt::black);
QBrush greenBrush(Qt::darkGreen);
QStandardItem *root = mTopModel->invisibleRootItem();
QSqlDatabase db = QSqlDatabase::database("treedb");
- QSqlQuery genresQ("SELECT genres.tgenrename, seriesparts_genremap.iseriesparts_id, series.tseries_name, seriesparts.iseriesparts_id, seriesparts.iseriespart, seriesparts.bfavorite, seriesparts.tsubtitle FROM genres, seriesparts_genremap, series, seriesparts WHERE genres.igenres_id = seriesparts_genremap.igenres_id AND seriesparts_genremap.iseriesparts_id = seriesparts.iseriesparts_id AND seriesparts.iseries_id = series.iseries_id ORDER BY genres.tgenrename, series.tseries_name", db);
+ QSqlQuery genresQ("SELECT genres.tgenrename, seriesparts_genremap.iseriesparts_id, series.tseries_name, seriesparts.iseriesparts_id, seriesparts.iseriespart, seriesparts.bfavorite, seriesparts.tsubtitle, COUNT(files.*) FROM genres, seriesparts_genremap, series, seriesparts, files WHERE genres.igenres_id = seriesparts_genremap.igenres_id AND seriesparts_genremap.iseriesparts_id = seriesparts.iseriesparts_id AND seriesparts.iseries_id = series.iseries_id AND seriesparts.iseriesparts_id = files.iseriespart_id GROUP BY genres.tgenrename, seriesparts_genremap.iseriesparts_id, series.tseries_name, seriesparts.iseriesparts_id, seriesparts.iseriespart, seriesparts.bfavorite, seriesparts.tsubtitle ORDER BY genres.tgenrename, series.tseries_name, seriesparts.iseriespart, seriesparts.tsubtitle", db);
while(genresQ.next()){
QBrush currentBrush = blackBrush;
QList<QStandardItem*> items;
@@ -215,17 +223,21 @@ void MovieWidget::populateByGenres(){
if(genresQ.value(5).toBool()){
currentBrush = greenBrush;
}
- for(int i = 0; i < 1; ++i){
+ for(int i = 0; i < 2; ++i){
QStandardItem *item = new QStandardItem;
item->setForeground(currentBrush);
item->setData(genresQ.value(1), SeriesPartIdRole);
item->setFont(f);
items << item;
}
- items[0]->setText(genre);
+ QString countStr = QString("%1").arg(genresQ.value(7).toInt(), 2, 10, QChar('0'));
+ items[0]->setText(countStr);
items[0]->setIcon(QIcon(":/bizarre_amputee.png"));
+ items[1]->setText(genre);
root->appendRow(items);
}
+ mTopView->resizeColumnToContents(0);
+ mTopView->resizeColumnToContents(1);
mTopView->setUpdatesEnabled(true);
mTopView->setSortingEnabled(true);
qApp->restoreOverrideCursor();