summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--newmoviewizard.cpp28
-rw-r--r--newmoviewizard.h11
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 {