diff options
-rw-r--r-- | newmoviewizard.cpp | 28 | ||||
-rw-r--r-- | newmoviewizard.h | 11 |
2 files changed, 32 insertions, 7 deletions
diff --git a/newmoviewizard.cpp b/newmoviewizard.cpp index 5000157..3cab09d 100644 --- a/newmoviewizard.cpp +++ b/newmoviewizard.cpp @@ -49,6 +49,11 @@ NewMovieWizard::NewMovieWizard(QWidget *parent) : QWizard(parent){ setOption(QWizard::IndependentPages, true); } +void NewMovieWizard::reject(){ + mInfoPage->saveData(); + QWizard::reject(); +} + void NewMovieWizard::accept(){ QSqlDatabase db = QSqlDatabase::database("treedb"); db.open(); @@ -286,10 +291,11 @@ void NewMovieWizard::accept(){ Helper::moveToArchive(fullPath, md5); } db.commit(); + mInfoPage->saveData(); QWizard::accept(); } -MovieInfoPage::MovieInfoPage(QWidget *parent) : QWizardPage(parent){ +MovieInfoPage::MovieInfoPage(QWidget *parent) : QWizardPage(parent), mCurSeriesno(0), mCurQuality(8){ setupGui(); } @@ -377,10 +383,8 @@ void MovieInfoPage::initializePage(){ initCompleters(); QSettings s; bool clearPage = s.value("ui/clearnewmoviewizard").toBool(); - if(clearPage){ - mTitle->clear(); - mSeriesNo->setValue(1); - mQuality->setValue(8); + if(clearPage == false){ + restoreData(); } mFileModel->clear(); } @@ -425,6 +429,20 @@ void MovieInfoPage::selectFirst(){ } +void MovieInfoPage::saveData(){ + mCurQuality = mQuality->value(); + mCurSeriesno = mSeriesNo->value(); + mCurTitle = mTitle->text(); + mCurSubtitle = mSubtitle->text(); +} + +void MovieInfoPage::restoreData(){ + mQuality->setValue(mCurQuality); + mSeriesNo->setValue(mCurSeriesno); + mTitle->setText(mCurTitle); + mSubtitle->setText(mCurSubtitle); +} + void MovieInfoPage::initCompleters(){ QSqlDatabase db = QSqlDatabase::database("treedb"); db.open(); diff --git a/newmoviewizard.h b/newmoviewizard.h index 7b31e51..e88be9f 100644 --- a/newmoviewizard.h +++ b/newmoviewizard.h @@ -33,10 +33,11 @@ class NewMovieWizard : public QWizard { Q_OBJECT public: explicit NewMovieWizard(QWidget *parent = 0); - void accept(); + virtual void accept(); + virtual void reject(); MovieInfoPage *infoPage() { return mInfoPage; } MovieMappingPage *actorPage() { return mActorPage; } - MovieMappingPage *genrePage() { return mGenrePage; } + MovieMappingPage *genrePage() { return mGenrePage; } private: MovieInfoPage *mInfoPage; @@ -54,6 +55,8 @@ class MovieInfoPage : public QWizardPage { void addFile(const QString &file); void setCurrentDir(const QString &dir) { mCurrentDir = dir; } void selectFirst(); + void saveData(); + void restoreData(); public slots: void initCompleters(); @@ -82,6 +85,10 @@ class MovieInfoPage : public QWizardPage { QStringListModel *mSeriesCompleterModel; QSortFilterProxyModel *mProxy; QString mCurrentDir; + QString mCurTitle; + QString mCurSubtitle; + int mCurSeriesno; + int mCurQuality; }; class MovieMappingPage : public QWizardPage { |