summaryrefslogtreecommitdiffstats
path: root/archiveview.cpp
diff options
context:
space:
mode:
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(){