diff options
Diffstat (limited to 'newmoviewizard.cpp')
-rw-r--r-- | newmoviewizard.cpp | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/newmoviewizard.cpp b/newmoviewizard.cpp index 44897b4..e479a33 100644 --- a/newmoviewizard.cpp +++ b/newmoviewizard.cpp @@ -58,6 +58,7 @@ void NewMovieWizard::accept(){ //handle series QString series = field("title").toString(); + bool hasPartNo = field("hasPartNo").toBool(); series = series.toLower().trimmed(); QModelIndex seriesIdx = seriesModel->find(series); if(!seriesIdx.isValid()){ @@ -70,25 +71,24 @@ void NewMovieWizard::accept(){ } //handle seriespart - int seriesno = field("seriesNo").toInt(); - bool hasPartNo = field("hasPartNo").toBool(); - if(!hasPartNo){ - seriesno = 0; - } + QModelIndex seriesPartIdx; QString subTitle = field("subtitle").toString(); - QModelIndex seriesPartIdx = seriesModel->find(seriesno, SeriesTreeModel::SeriesPart, seriesIdx); + int seriesno = 0; + if(hasPartNo){ + seriesno = field("seriesNo").toInt(); + seriesPartIdx = seriesModel->find(seriesno, SeriesTreeModel::SeriesPart, seriesIdx); + }else{ + seriesPartIdx = seriesModel->find(subTitle, SeriesTreeModel::Subtitle, seriesIdx); + } 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 curSubTitle = seriesPartIdx.data(SeriesTreeModel::SubtitleRole).toString(); - if(curSubTitle == subTitle){ - QString error = QString(tr("Already have a part with subtitle %1")).arg(curSubTitle); - QMessageBox::critical(this, tr("Error"), error); - return; - } + QString error = QString(tr("Already have a part with subtitle %1")).arg(seriesPartIdx.data(SeriesTreeModel::SubtitleRole).toString()); + QMessageBox::critical(this, tr("Error"), error); + return; } } @@ -96,7 +96,15 @@ void NewMovieWizard::accept(){ QMessageBox::critical(this, tr("Error"), tr("Failed to create series part!")); return; } - seriesPartIdx = seriesModel->find(seriesno, SeriesTreeModel::SeriesPart, seriesIdx); + 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; + } int seriesPartId = seriesPartIdx.data(SeriesTreeModel::SeriesPartIdRole).toInt(); //handle files |