diff options
Diffstat (limited to 'seriestreemodel.cpp')
-rw-r--r-- | seriestreemodel.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/seriestreemodel.cpp b/seriestreemodel.cpp index 2cda1d0..aa35731 100644 --- a/seriestreemodel.cpp +++ b/seriestreemodel.cpp @@ -34,6 +34,8 @@ SeriesTreeModel::SeriesTreeModel(QStringList &headers, QObject *parent) : SmTree mSeriesFilesQuery->prepare("SELECT files.tfilename, files.cmd5sum FROM series, seriesparts, files WHERE series.iseries_id = :id AND series.iseries_id = seriesparts.iseries_id AND seriesparts.iseriesparts_id = files.iseriespart_id"); mSeriesPartFilesQuery = new QSqlQuery(mDb); mSeriesPartFilesQuery->prepare("SELECT files.tfilename, files.cmd5sum FROM seriesparts, files WHERE seriesparts.iseriesparts_id = :id AND seriesparts.iseriesparts_id = files.iseriespart_id"); + mSortedMovieListQuery = new QSqlQuery(mDb); + mSortedMovieListQuery->prepare("SELECT files.tfilename, files.cmd5sum FROM series, seriesparts, files WHERE series.iseries_id = :id AND seriesparts.iseries_id = series.iseries_id AND seriesparts.iseriesparts_id = files.iseriespart_id AND files.sifiletype = 1 ORDER BY seriesparts.iseriespart, files.sifileno"); populate(); } @@ -212,6 +214,21 @@ QFileInfoList SeriesTreeModel::findMovies(const QModelIndexList &from) const{ return retval; } +QFileInfoList SeriesTreeModel::findSortedMovies(const QModelIndex &from) const{ + if(!from.isValid()){ + return QFileInfoList(); + } + QFileInfoList retval; + int seriesPartId = from.data(SeriesPartIdRole).toInt(); + mSortedMovieListQuery->bindValue(":id", seriesPartId); + if(mSortedMovieListQuery->exec()){ + while(mSortedMovieListQuery->next()){ + QString path = Helper::createArchivePath(mSortedMovieListQuery->value(0).toString(), mSortedMovieListQuery->value(1).toString()); + retval << QFileInfo(path); + } + } + return retval; +} bool SeriesTreeModel::deleteFromSeries(const QModelIndex &what){ int nodeType = what.data(TypeRole).toInt(); |