diff options
author | Arno <am@disconnect.de> | 2012-12-30 10:44:04 +0100 |
---|---|---|
committer | Arno <am@disconnect.de> | 2012-12-30 10:44:04 +0100 |
commit | a069898249b863b0982b1807afa8d0b0912b496e (patch) | |
tree | 062d624f50110a0057ecd781c7fe4a67df34ae5b /newmoviewizard.cpp | |
parent | 2a56e7483e29b26808e796a41be8ac4fc08926fb (diff) | |
download | SheMov-a069898249b863b0982b1807afa8d0b0912b496e.tar.gz SheMov-a069898249b863b0982b1807afa8d0b0912b496e.tar.bz2 SheMov-a069898249b863b0982b1807afa8d0b0912b496e.zip |
Allow adding files to existing Seriesparts with subtitles
With siterips it's possible to have several files with the same
subtitle. Now we ask if we want to add to it or cancel.
Diffstat (limited to 'newmoviewizard.cpp')
-rw-r--r-- | newmoviewizard.cpp | 42 |
1 files changed, 26 insertions, 16 deletions
diff --git a/newmoviewizard.cpp b/newmoviewizard.cpp index dfeb538..7f1f869 100644 --- a/newmoviewizard.cpp +++ b/newmoviewizard.cpp @@ -87,32 +87,42 @@ void NewMovieWizard::accept(){ }else{ seriesPartIdx = seriesModel->find(subTitle, SeriesTreeModel::Subtitle, seriesIdx); } + + bool addSeriesPart = true; if(seriesPartIdx.isValid()){ if(hasPartNo){ QString error = QString(tr("Already have part %1 of %2")).arg(seriesno).arg(series); QMessageBox::critical(this, tr("Error"), error); return; }else{ - QString error = QString(tr("Already have a part with subtitle %1")).arg(seriesPartIdx.data(SeriesTreeModel::SubtitleRole).toString()); - QMessageBox::critical(this, tr("Error"), error); - return; + // this is getting a little convoluted now + QString question = QString(tr("Already have a part with subtitle %1. To add current file click OK.")).arg(seriesPartIdx.data(SeriesTreeModel::SubtitleRole).toString()); + int r = QMessageBox::question(this, tr("Question"), question, QMessageBox::Ok | QMessageBox::Cancel); + if(r == QMessageBox::Ok){ + addSeriesPart = false; + }else{ + return; + } } } - if(!seriesModel->addSeriesPart(seriesno, seriesIdx, subTitle)){ - QMessageBox::critical(this, tr("Error"), tr("Failed to create series part!")); - return; - } - //model has changed, so we need to reevaluate... - if(hasPartNo){ - seriesPartIdx = seriesModel->find(seriesno, SeriesTreeModel::SeriesPart, seriesIdx); - }else{ - seriesPartIdx = seriesModel->find(subTitle, SeriesTreeModel::Subtitle, seriesIdx); + // we don't have an already existing SeriesPart, so add it + if(addSeriesPart){ + if(!seriesModel->addSeriesPart(seriesno, seriesIdx, subTitle)){ + QMessageBox::critical(this, tr("Error"), tr("Failed to create series part!")); + return; + } + //model has changed, so we need to reevaluate... + if(hasPartNo){ + seriesPartIdx = seriesModel->find(seriesno, SeriesTreeModel::SeriesPart, seriesIdx); + }else{ + seriesPartIdx = seriesModel->find(subTitle, SeriesTreeModel::Subtitle, seriesIdx); + } + if(!seriesPartIdx.isValid()){ + QMessageBox::critical(this, tr("Error"), tr("Strange. Could not find series part! Cowardly bailing out.")); + return; + } } - if(!seriesPartIdx.isValid()){ - QMessageBox::critical(this, tr("Error"), tr("Strange. Could not find series part! Cowardly bailing out.")); - return; - } int seriesPartId = seriesPartIdx.data(SeriesTreeModel::SeriesPartIdRole).toInt(); //handle files |