From 78c36ad6caab4a6c22bc95ee1f983ea841416ab9 Mon Sep 17 00:00:00 2001 From: Arno Date: Fri, 4 Apr 2014 16:13:24 +0200 Subject: Delete SeriesPart Make it possible to delete a SeriesPart. This may happen if eg. you download the same clip/movie with a better quality. --- archiveview.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'archiveview.cpp') diff --git a/archiveview.cpp b/archiveview.cpp index 8df9bb6..1d49db0 100644 --- a/archiveview.cpp +++ b/archiveview.cpp @@ -395,6 +395,36 @@ void ArchiveTree::markAsFavorite(){ c->archiveTreeModel()->setFavorite(pId, !fav); } +void ArchiveTree::deleteFromTree(){ + QModelIndex idx = firstSelected(); + if(!idx.isValid()){ + return; + } + int type = idx.data(ArchiveModel::TypeRole).toInt(); + if(type == ArchiveModel::SeriesPartNode){ + ArchiveController *c = SmGlobals::instance()->archiveController(); + ArchiveFilesModel *fm = c->archiveFilesModel(); + int seriesPartId = idx.data(ArchiveModel::SeriesPartIdRole).toInt(); + QStringList files = fm->filesForSeriespart(seriesPartId); + if(!files.isEmpty()){ + QString msg = tr("This action will permanently delete the following files:"); + msg.append(tr("

Continue?

")); + int answer = QMessageBox::warning(0, tr("Question"), msg, QMessageBox::Yes | QMessageBox::No); + if(answer == QMessageBox::Yes){ + ArchiveModel *am = c->archiveTreeModel(); + if(am->deleteSeriesPart(seriesPartId)){ + am->refresh(); + } + } + } + } +} + void ArchiveTree::impossible(const QString msg){ QMessageBox::critical(this, tr("Error"), msg); } -- cgit v1.2.3-70-g09d2