diff options
author | Arno <am@disconnect.de> | 2014-04-18 12:50:24 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2014-04-18 12:50:24 +0200 |
commit | a0ae79cb4616fcca8a25b1a6f54bbecd39474bd5 (patch) | |
tree | cb02bc0a217d8c99609253d796e15971ed4f1a87 /archivemodel.cpp | |
parent | c1984a1fa33a2f7f730e439184a2c4773f0b95d0 (diff) | |
download | SheMov-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.cpp | 20 |
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"); |