diff options
Diffstat (limited to 'archivemodel.cpp')
-rw-r--r-- | archivemodel.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/archivemodel.cpp b/archivemodel.cpp index 695dd09..d1580de 100644 --- a/archivemodel.cpp +++ b/archivemodel.cpp @@ -1001,6 +1001,33 @@ void ArchiveFilesModel::updateSeriesPartForFile(const QString &md5sum, int newSe q.exec(); } +bool ArchiveFilesModel::hasFile(const QString &md5){ + if(md5.isEmpty()){ + return false; + } + QSqlDatabase db = QSqlDatabase::database("treedb"); + QSqlQuery fileQ(db); + fileQ.prepare("SELECT COUNT(*) FROM files WHERE cmd5sum = :md5"); + fileQ.bindValue(":md5", md5); + bool retval = false; + fileQ.exec(); + while(fileQ.next()){ + if(fileQ.value(0).toInt() == 1){ + retval = true; + } + } + return retval; +} + +bool ArchiveFilesModel::setDvdNo(const QString &md5, int dvdno){ + QSqlDatabase db = QSqlDatabase::database("treedb"); + QSqlQuery dvdNoQ(db); + dvdNoQ.prepare("UPDATE files SET idvd = :dvdno WHERE cmd5sum = :md5"); + dvdNoQ.bindValue(":dvdno", dvdno); + dvdNoQ.bindValue(":md5", md5); + return dvdNoQ.exec(); +} + void ArchiveFilesModel::refresh(){ populate(mSeriesPartIds); } |