summaryrefslogtreecommitdiffstats
path: root/archiveview.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2015-03-21 09:15:16 +0100
committerArno <am@disconnect.de>2015-03-21 09:15:16 +0100
commit9544f4d790695e707e7e8b9cb44f9cb0fed0dbcb (patch)
treebf6af4d83c91f5a2594a3777fb31f620e6a852d2 /archiveview.cpp
parente6b7e5e0fccef756398982bd51137bb433df7f4a (diff)
downloadSheMov-9544f4d790695e707e7e8b9cb44f9cb0fed0dbcb.tar.gz
SheMov-9544f4d790695e707e7e8b9cb44f9cb0fed0dbcb.tar.bz2
SheMov-9544f4d790695e707e7e8b9cb44f9cb0fed0dbcb.zip
Delete emtpy series
Enable the delete option in ArchiveTree, but only allow delete when it has no children.
Diffstat (limited to 'archiveview.cpp')
-rw-r--r--archiveview.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/archiveview.cpp b/archiveview.cpp
index b7ae5e6..9c05b09 100644
--- a/archiveview.cpp
+++ b/archiveview.cpp
@@ -425,10 +425,10 @@ void ArchiveTree::deleteFromTree(){
return;
}
int type = idx.data(ArchiveModel::TypeRole).toInt();
+ ArchiveController *c = SmGlobals::instance()->archiveController();
+ ArchiveFilesModel *fm = c->archiveFilesModel();
+ ArchiveModel *am = c->archiveTreeModel();
if(type == ArchiveModel::SeriesPartNode){
- ArchiveController *c = SmGlobals::instance()->archiveController();
- ArchiveFilesModel *fm = c->archiveFilesModel();
- ArchiveModel *am = c->archiveTreeModel();
int seriesPartId = idx.data(ArchiveModel::SeriesPartIdRole).toInt();
QStringList files = fm->filesForSeriespart(seriesPartId);
if(!files.isEmpty()){
@@ -448,6 +448,21 @@ void ArchiveTree::deleteFromTree(){
}
am->refresh();
}
+ if(type == ArchiveModel::SeriesNode){
+ if(mProxy->hasChildren(idx)){
+ QMessageBox::critical(0, tr("Critical"), tr("Series is not empty!"), QMessageBox::Ok);
+ return;
+ }
+ int seriesId = idx.data(ArchiveModel::GenericIdRole).toInt();
+ if(seriesId > 0){
+ QString msg = QString(tr("Really delete series %1?")).arg(idx.data(ArchiveModel::NameRole).toString());
+ int retval = QMessageBox::question(0, tr("Question"), msg, QMessageBox::Ok | QMessageBox::Cancel);
+ if(retval == QMessageBox::Ok){
+ am->deleteSeries(seriesId);
+ am->refresh();
+ }
+ }
+ }
}
void ArchiveTree::newPart(){