diff options
-rw-r--r-- | moviewidget.cpp | 29 | ||||
-rw-r--r-- | moviewidget.h | 5 |
2 files changed, 34 insertions, 0 deletions
diff --git a/moviewidget.cpp b/moviewidget.cpp index ec4edd4..d30cee2 100644 --- a/moviewidget.cpp +++ b/moviewidget.cpp @@ -10,6 +10,7 @@ #include <QSplitter> #include <QSqlDatabase> #include <QSqlQuery> +#include <QSettings> #include <QApplication> #include "moviewidget.h" @@ -20,6 +21,10 @@ MovieWidget::MovieWidget(QWidget *parent) : QWidget(parent){ setupWidget(); } +MovieWidget::~MovieWidget(){ + writeSettings(); +} + void MovieWidget::setupWidget(){ QToolBar *toolbar = new QToolBar; QPixmap buttplug(":/butt_plug.png"); @@ -93,6 +98,30 @@ void MovieWidget::setupWidget(){ splitter->setStretchFactor(0, 3); mainLayout->addWidget(splitter); setLayout(mainLayout); + + readSettings(); +} + +void MovieWidget::readSettings(){ + QSettings s; + QString sel = s.value("mw/selection").toString(); + QString curSel = mSelectionCB->currentText(); + if(curSel != sel){ + mSelectionCB->setCurrentText(sel); + }else{ + selectBy(curSel); + } + QString filter = s.value("mw/filter").toString(); + mFilterLE->setText(filter); + if(!filter.isEmpty()){ + mTopProxy->setFilterRegExp(QRegExp(mFilterLE->text())); + } +} + +void MovieWidget::writeSettings(){ + QSettings s; + s.setValue("mw/selection", mSelectionCB->currentText()); + s.setValue("mw/filter", mFilterLE->text()); } void MovieWidget::selectBy(const QString &selection){ diff --git a/moviewidget.h b/moviewidget.h index d1f00f0..2c29bfe 100644 --- a/moviewidget.h +++ b/moviewidget.h @@ -14,6 +14,11 @@ class MovieWidget : public QWidget { public: enum CustomRoles { SeriesPartIdRole = Qt::UserRole + 1, CountRole = Qt::UserRole + 2, MD5SumRole = Qt::UserRole + 3 }; explicit MovieWidget(QWidget *parent = nullptr); + ~MovieWidget(); + + public slots: + void readSettings(); + void writeSettings(); private slots: void selectBy(const QString &selection); |