summaryrefslogtreecommitdiffstats
path: root/seriestreemodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'seriestreemodel.cpp')
-rw-r--r--seriestreemodel.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/seriestreemodel.cpp b/seriestreemodel.cpp
index 7cc578a..a86cad6 100644
--- a/seriestreemodel.cpp
+++ b/seriestreemodel.cpp
@@ -45,6 +45,10 @@ SeriesTreeModel::SeriesTreeModel(QStringList &headers, QObject *parent) : SmTree
mNextDvdNoQuery->prepare("SELECT MAX(idvd) FROM files");
mGenreFilterQuery = new QSqlQuery(mDb);
mGenreFilterQuery->prepare("SELECT DISTINCT(series.iseries_id), series.tseries_name FROM series, seriesparts, seriesparts_genremap, genres where tgenrename LIKE :pat AND genres.igenres_id = seriesparts_genremap.igenres_id AND seriesparts_genremap.iseriesparts_id = seriesparts.iseriesparts_id AND seriesparts.iseries_id = series.iseries_id");
+ mFavoriteSeriesIdQuery = new QSqlQuery(mDb);
+ mFavoriteSeriesIdQuery->prepare("SELECT DISTINCT(series.iseries_id), series.tseries_name FROM series, seriesparts WHERE seriesparts.bfavorite = true and seriesparts.iseries_id = series.iseries_id");
+ mFavoriteSeriesPartsQuery = new QSqlQuery(mDb);
+ mFavoriteSeriesPartsQuery->prepare("SELECT iseriesparts_id, iseriespart FROM seriesparts WHERE iseries_id = :id AND bfavorite = true");
populate();
}
@@ -62,6 +66,8 @@ SeriesTreeModel::~SeriesTreeModel(){
delete mSortedMovieListQuery;
delete mNextDvdNoQuery;
delete mGenreFilterQuery;
+ delete mFavoriteSeriesIdQuery;
+ delete mFavoriteSeriesPartsQuery;
mDb = QSqlDatabase();
}
@@ -448,6 +454,30 @@ void SeriesTreeModel::setFileFilter(const QString &filter, const QString &column
}
}
+void SeriesTreeModel::setFavoriteFilter(){
+ if(mFavoriteSeriesIdQuery->exec()){
+ mSeriesPartSeriesMap.clear();
+ SmTreeItem *rootItem = new SmTreeItem(6);
+ while(mFavoriteSeriesIdQuery->next()){
+ QList<QVariant> seriesData;
+ seriesData << mFavoriteSeriesIdQuery->value(1) << mFavoriteSeriesIdQuery->value(0) << QVariant() << QVariant() << Series << false;
+ SmTreeItem *seriesItem = new SmTreeItem(seriesData, rootItem);
+ rootItem->appendChild(seriesItem);
+ mFavoriteSeriesPartsQuery->bindValue(":id", seriesData.at(1));
+ if(mFavoriteSeriesPartsQuery->exec()){
+ while(mFavoriteSeriesPartsQuery->next()){
+ QList<QVariant> partData;
+ partData << seriesData.at(Name) << seriesData.at(SeriesId) << mFavoriteSeriesPartsQuery->value(0) << mFavoriteSeriesPartsQuery->value(1) << Part << true;
+ SmTreeItem *partItem = new SmTreeItem(partData, seriesItem);
+ seriesItem->appendChild(partItem);
+ mSeriesPartSeriesMap.insert(mFavoriteSeriesPartsQuery->value(0).toInt(), seriesData.at(1).toInt());
+ }
+ }
+ }
+ setRoot(rootItem);
+ }
+}
+
void SeriesTreeModel::readSettings(){
QSettings s;
QVariant fc = s.value("ui/favoritecolor");