summaryrefslogtreecommitdiffstats
path: root/filestreemodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'filestreemodel.cpp')
-rw-r--r--filestreemodel.cpp14
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();