summaryrefslogtreecommitdiffstats
path: root/archiveview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'archiveview.cpp')
-rw-r--r--archiveview.cpp23
1 files changed, 19 insertions, 4 deletions
diff --git a/archiveview.cpp b/archiveview.cpp
index 6a83685..f3656f7 100644
--- a/archiveview.cpp
+++ b/archiveview.cpp
@@ -32,6 +32,7 @@
#include "smglobals.h"
#include "helper.h"
#include "delegates.h"
+#include "smdialog.h"
ArchiveView::ArchiveView(QWidget *parent) : QWidget(parent) {
QSettings s;
@@ -404,6 +405,7 @@ void ArchiveTree::deleteFromTree(){
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()){
@@ -416,12 +418,25 @@ void ArchiveTree::deleteFromTree(){
msg.append(tr("<p>Continue?</p>"));
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();
- }
+ am->deleteSeriesPart(seriesPartId);
}
+ }else{
+ am->deleteSeriesPart(seriesPartId);
}
+ am->refresh();
+ }
+}
+
+void ArchiveTree::newPart(){
+ SeriesPartsDialog pDlg(this);
+ int retval = pDlg.exec();
+ if(retval == QDialog::Accepted){
+ QString subtitle = pDlg.subtitle();
+ int partno = pDlg.partNo();
+ QModelIndex sel = firstSelected();
+ QModelIndex rSel = mProxy->mapToSource(sel);
+ mModel->addSeriesPart(partno, subtitle, rSel);
+ mModel->refresh();
}
}