diff options
Diffstat (limited to 'archiveview.cpp')
-rw-r--r-- | archiveview.cpp | 23 |
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(); } } |