diff options
Diffstat (limited to 'filestreemodel.cpp')
-rw-r--r-- | filestreemodel.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/filestreemodel.cpp b/filestreemodel.cpp index 348e536..8dc52ba 100644 --- a/filestreemodel.cpp +++ b/filestreemodel.cpp @@ -22,12 +22,15 @@ FilesTreeModel::FilesTreeModel(QStringList &headers, QObject *parent) : SmTreeMo mUpdateQualityQuery->prepare("UPDATE files SET siquality = :quality WHERE ifiles_id = :id"); mInsertFileQuery = new QSqlQuery(mDb); mInsertFileQuery->prepare("INSERT INTO files(iseriespart_id, tfilename, cmd5sum, bisize, idvd, sifiletype, sifileno, siquality) VALUES(:seriespartid, :fname, :md5, :size, :dvd, :type, :fileno, :quality)"); + mFilesQuery = new QSqlQuery(mDb); + mFilesQuery->prepare("SELECT tfilename, cmd5sum FROM files WHERE iseriespart_id = :id"); } FilesTreeModel::~FilesTreeModel(){ delete mUpdateDvdQuery; delete mUpdateQualityQuery; delete mInsertFileQuery; + delete mFilesQuery; mDb = QSqlDatabase(); } @@ -187,6 +190,17 @@ Qt::ItemFlags FilesTreeModel::flags(const QModelIndex &index) const{ return retval; } +QHash<QString, QString> FilesTreeModel::filesBySeriesPartId(int seriesPartId){ + mFilesQuery->bindValue(":id", seriesPartId); + QHash<QString, QString> retval; + if(mFilesQuery->exec()){ + while(mFilesQuery->next()){ + retval.insert(mFilesQuery->value(0).toString(), mFilesQuery->value(1).toString()); + } + } + return retval; +} + bool FilesTreeModel::addFile(const QString &fullPath, int type, int quality, int filePart, int seriesPartId, int dvd){ QFileInfo fi(fullPath); qint64 size = fi.size(); |