summaryrefslogtreecommitdiffstats
path: root/archivemodel.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2014-04-18 12:50:24 +0200
committerArno <am@disconnect.de>2014-04-18 12:50:24 +0200
commita0ae79cb4616fcca8a25b1a6f54bbecd39474bd5 (patch)
treecb02bc0a217d8c99609253d796e15971ed4f1a87 /archivemodel.cpp
parentc1984a1fa33a2f7f730e439184a2c4773f0b95d0 (diff)
downloadSheMov-a0ae79cb4616fcca8a25b1a6f54bbecd39474bd5.tar.gz
SheMov-a0ae79cb4616fcca8a25b1a6f54bbecd39474bd5.tar.bz2
SheMov-a0ae79cb4616fcca8a25b1a6f54bbecd39474bd5.zip
Delete files from Archive
Well, the title says it all. KILL THEM!
Diffstat (limited to 'archivemodel.cpp')
-rw-r--r--archivemodel.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/archivemodel.cpp b/archivemodel.cpp
index 11ee6e5..1da5833 100644
--- a/archivemodel.cpp
+++ b/archivemodel.cpp
@@ -534,6 +534,26 @@ void ArchiveModel::addFiles(int partId, const QStringList files){
}
}
+void ArchiveModel::removeFiles(const QList<int> fileIds){
+ QSqlQuery removeQ(mDb);
+ removeQ.prepare("DELETE FROM files WHERE ifiles_id = :id");
+ QSqlQuery dataQ(mDb);
+ dataQ.prepare("SELECT tfilename, cmd5sum FROM files WHERE ifiles_id = :id");
+ QString md5, fileName;
+ foreach(int id, fileIds){
+ dataQ.bindValue(":id" ,id);
+ dataQ.exec();
+ while(dataQ.next()){
+ fileName = dataQ.value(0).toString();
+ md5 = dataQ.value(1).toString();
+ if(Helper::removeFromArchive(fileName, md5)){
+ removeQ.bindValue(":id", id);
+ removeQ.exec();
+ }
+ }
+ }
+}
+
bool ArchiveModel::deleteSeriesPart(int partId){
QSqlQuery filesQ(mDb);
filesQ.prepare("SELECT cmd5sum,tfilename FROM files WHERE iseriespart_id = :id");