From 1836f0768e3e7f38d4957f9348995cb062f55a07 Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 22 Dec 2018 13:32:39 +0100 Subject: Fix deleteSeries The previous version bailed out wrongly when the file was available, but on an USB path. Fix it by using the data from the bottom model. --- moviewidget.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'moviewidget.cpp') diff --git a/moviewidget.cpp b/moviewidget.cpp index 1438f32..98368f4 100644 --- a/moviewidget.cpp +++ b/moviewidget.cpp @@ -177,18 +177,16 @@ void MovieWidget::deleteSeries(){ } int partId = cur.first().data(SeriesPartIdRole).toInt(); QStringList fullPaths; - QSqlDatabase db = QSqlDatabase::database("treedb"); - QSqlQuery filesQ(db); - filesQ.prepare("SELECT tfilename, cmd5sum FROM files WHERE iseriespart_id = :id"); - filesQ.bindValue(":id", partId); - filesQ.exec(); - while(filesQ.next()){ - QString fp = Helper::createArchivePath(filesQ.value(0).toString(), filesQ.value(1).toString()); - fullPaths << fp; + for(int i = 0; i < mBottomModel->rowCount(); ++i){ + QStandardItem *item = mBottomModel->item(i); + if(item){ + fullPaths << item->data(FullPathRole).toString(); + } } QString msg = QString(tr("Really delete %1 file(s) (SeriesId %2)?")).arg(fullPaths.count()).arg(partId); int retval = QMessageBox::question(this, tr("Delete files..."), msg); if(retval == QMessageBox::Yes){ + QSqlDatabase db = QSqlDatabase::database("treedb"); db.transaction(); QSqlQuery deleteId(db); deleteId.prepare("DELETE FROM seriesparts WHERE iseriesparts_id = :id"); -- cgit v1.2.3-70-g09d2