diff options
author | Arno <am@disconnect.de> | 2011-05-07 09:38:40 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2011-05-07 09:38:40 +0200 |
commit | 25bd284eec824853e211c84861de4246ffbf6d3a (patch) | |
tree | e83c892a36a24d943006231201623b0b6d767060 /newmoviewizard.cpp | |
parent | 3cd7ca9ef0f2191ed0fe609c192c627430a07883 (diff) | |
download | SheMov-25bd284eec824853e211c84861de4246ffbf6d3a.tar.gz SheMov-25bd284eec824853e211c84861de4246ffbf6d3a.tar.bz2 SheMov-25bd284eec824853e211c84861de4246ffbf6d3a.zip |
Implement additional title element for seriesparts
Series parts can now have an additional title elemet, the so
called subtitle. Obviously that's not really a good name but it's
the best I could come up with :)
Diffstat (limited to 'newmoviewizard.cpp')
-rw-r--r-- | newmoviewizard.cpp | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/newmoviewizard.cpp b/newmoviewizard.cpp index 17fadc8..88f0aab 100644 --- a/newmoviewizard.cpp +++ b/newmoviewizard.cpp @@ -25,6 +25,7 @@ #include <QFormLayout> #include <QDate> #include <QPlainTextEdit> +#include <QFormLayout> #include "newmoviewizard.h" #include "smtreeitem.h" @@ -70,13 +71,18 @@ void NewMovieWizard::accept(){ //handle seriespart int seriesno = field("seriesNo").toInt(); + bool hasPartNo = field("hasPartNo").toBool(); + if(!hasPartNo){ + seriesno = 0; + } QModelIndex seriesPartIdx = seriesModel->find(seriesno, SeriesTreeModel::SeriesPart, seriesIdx); if(seriesPartIdx.isValid()){ QString error = QString(tr("Already have part %1 of %2")).arg(seriesno).arg(series); QMessageBox::critical(this, tr("Error"), error); return; } - if(!seriesModel->addSeriesPart(seriesno, seriesIdx)){ + QString subTitle = field("subtitle").toString(); + if(!seriesModel->addSeriesPart(seriesno, seriesIdx, subTitle)){ QMessageBox::critical(this, tr("Error"), tr("Failed to create series part!")); return; } @@ -190,13 +196,12 @@ void MovieInfoPage::setupGui(){ fileButtonLayout->addWidget(mRemoveFile); connect(mRemoveFile, SIGNAL(clicked()), this, SLOT(removeFile())); - //movie name - QHBoxLayout *movieTitleLayout = new QHBoxLayout; - QLabel *l1 = new QLabel(tr("Movie &title")); + //movie name + subtitle + QFormLayout *movieTitleLayout = new QFormLayout; mTitle = new QLineEdit; - l1->setBuddy(mTitle); - movieTitleLayout->addWidget(l1); - movieTitleLayout->addWidget(mTitle); + mSubtitle = new QLineEdit; + movieTitleLayout->addRow(tr("Movie &title"), mTitle); + movieTitleLayout->addRow(tr("Movie &subtitle"), mSubtitle); SeriesTreeModel *seriesModel = static_cast<SeriesTreeModel*>(SmGlobals::instance()->model("SeriesModel")); QCompleter *completer = new QCompleter(this); completer->setModel(seriesModel); @@ -239,6 +244,10 @@ void MovieInfoPage::setupGui(){ QHBoxLayout *dvdLayout = new QHBoxLayout; mOnDvd = new QCheckBox(tr("Movie is on DVD")); dvdLayout->addWidget(mOnDvd); + mHasPartno = new QCheckBox(tr("Movie has part no.")); + mHasPartno->setChecked(true); + connect(mHasPartno, SIGNAL(stateChanged(int)), this, SLOT(hasPartnoStateChanged(int))); + dvdLayout->addWidget(mHasPartno); dvdLayout->addStretch(); QLabel *l6 = new QLabel(tr("Dvd no.")); dvdLayout->addWidget(l6); @@ -274,12 +283,14 @@ void MovieInfoPage::setupGui(){ //expose data registerField("title*", mTitle); + registerField("subtitle", mSubtitle); registerField("seriesNo", mSeriesNo); registerField("partNo", mPartno); registerField("quality", mQuality); registerField("dvdNo", mDvdNo); registerField("onDvd", mOnDvd); registerField("usePicViewer", mUsePicViewer); + registerField("hasPartNo", mHasPartno); } void MovieInfoPage::initializePage(){ @@ -451,6 +462,10 @@ void MovieInfoPage::itemClicked(const QModelIndex &index){ mPicViewer->raise(); } +void MovieInfoPage::hasPartnoStateChanged(int state){ + mPartno->setEnabled(state == Qt::Checked); +} + MovieMappingPage::MovieMappingPage(const QString &table, QWidget *parent) : QWizardPage(parent){ QString title = QString(tr("Edit %1")).arg(table); QString subTitle = QString(tr("Edit %1 by adding them from the text field below")).arg(table); |