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