diff options
Diffstat (limited to 'moviewidget.cpp')
-rw-r--r-- | moviewidget.cpp | 36 |
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(); |