diff options
author | Arno <arno@disconnect.de> | 2020-07-25 10:15:02 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2020-07-25 10:15:02 +0200 |
commit | e3c6ea4bf3fbab0a87f412a18d193927594f12fa (patch) | |
tree | 4078d14107855a51b4f2a81be82133184a0423cb | |
parent | 5db8e0636c5fe4b4f51cf5654b93c67ae8d4c923 (diff) | |
download | SheMov-e3c6ea4bf3fbab0a87f412a18d193927594f12fa.tar.gz SheMov-e3c6ea4bf3fbab0a87f412a18d193927594f12fa.tar.bz2 SheMov-e3c6ea4bf3fbab0a87f412a18d193927594f12fa.zip |
Read and write settings for search dialog
-rw-r--r-- | searchdialog.cpp | 38 | ||||
-rw-r--r-- | searchdialog.h | 8 |
2 files changed, 42 insertions, 4 deletions
diff --git a/searchdialog.cpp b/searchdialog.cpp index 3746bcb..acfe1dd 100644 --- a/searchdialog.cpp +++ b/searchdialog.cpp @@ -70,6 +70,19 @@ FilenamesAndMetadata::FilenamesAndMetadata(QWidget *parent, Qt::WindowFlags flag setLayout(mainLayout); } +void FilenamesAndMetadata::writeSettings(){ + QSettings s; + s.setValue("FilenameAndMetadataHeaders", mResult->header()->saveState()); + s.setValue("FilenameAndMetdataText", mSearch->text()); +} + +void FilenamesAndMetadata::readSettings(){ + QSettings s; + mSearch->setText(s.value("FilenameAndMetdataText").toString()); + mResult->header()->restoreState(s.value("FilenameAndMetadataHeaders").toByteArray()); + search(); +} + void FilenamesAndMetadata::search(){ if(mSearch->text().isEmpty()){ return; @@ -175,6 +188,19 @@ ActorsAndMore::ActorsAndMore(QWidget *parent, Qt::WindowFlags flags) : QWidget(p setLayout(mainLayout); } +void ActorsAndMore::writeSettings(){ + QSettings s; + s.setValue("ActorsAndMoreText", mSearch->text()); + s.setValue("searchType", mTypeSel->currentText()); +} + +void ActorsAndMore::readSettings(){ + QSettings s; + mSearch->setText(s.value("ActorsAndMoreText").toString()); + mTypeSel->setCurrentText(s.value("searchType").toString()); + doSearch(); +} + void ActorsAndMore::doSearch(){ QString input = mSearch->text(); if(input.isEmpty()){ @@ -360,13 +386,13 @@ void ActorsAndMore::getDataForTitle(QModelIndex cur){ SearchDialog::SearchDialog(QWidget *parent, Qt::WindowFlags flags) : QDialog(parent, flags) { QHBoxLayout *gbLayout = new QHBoxLayout; QGroupBox *metaFnGb = new QGroupBox(tr("Metadata and Filenames")); - FilenamesAndMetadata *metaFnW = new FilenamesAndMetadata; - gbLayout->addWidget(metaFnW); + mFilenameAndMetadataW = new FilenamesAndMetadata; + gbLayout->addWidget(mFilenameAndMetadataW); metaFnGb->setLayout(gbLayout); QHBoxLayout *gbLayout2 = new QHBoxLayout; QGroupBox *actorsAndMoreGb = new QGroupBox(tr("Actors and more...")); - ActorsAndMore *actorsAndMoreW = new ActorsAndMore; - gbLayout2->addWidget(actorsAndMoreW); + mActorsAndMoreW = new ActorsAndMore; + gbLayout2->addWidget(mActorsAndMoreW); actorsAndMoreGb->setLayout(gbLayout2); QSplitter *splitter = new QSplitter(Qt::Vertical); splitter->addWidget(metaFnGb); @@ -382,10 +408,14 @@ void SearchDialog::writeSettings(){ QSettings s; s.setValue("searchdlgpos", pos()); s.setValue("searchdlgsize", size()); + mFilenameAndMetadataW->writeSettings(); + mActorsAndMoreW->writeSettings(); } void SearchDialog::readSettings(){ QSettings s; move(s.value("searchdlgpos").toPoint()); resize(s.value("searchdlgsize").toSize()); + mFilenameAndMetadataW->readSettings(); + mActorsAndMoreW->readSettings(); } diff --git a/searchdialog.h b/searchdialog.h index 3e90122..19d0d09 100644 --- a/searchdialog.h +++ b/searchdialog.h @@ -26,6 +26,8 @@ class FilenamesAndMetadata : public QWidget { Q_OBJECT public: FilenamesAndMetadata(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::Widget); + void writeSettings(); + void readSettings(); signals: void searchResultClicked(int); @@ -48,6 +50,8 @@ class ActorsAndMore : public QWidget { enum SearchTypes { Actor, Title }; enum CustomRoles { IdRole = Qt::UserRole + 1 }; ActorsAndMore(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::Widget); + void writeSettings(); + void readSettings(); public slots: void doSearch(); @@ -74,6 +78,10 @@ class SearchDialog : public QDialog { SearchDialog(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::Widget); void readSettings(); void writeSettings(); + + private: + FilenamesAndMetadata *mFilenameAndMetadataW; + ActorsAndMore *mActorsAndMoreW; }; |