diff options
author | Arno <arno@disconnect.de> | 2018-01-19 11:09:32 +0100 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2018-01-19 11:09:32 +0100 |
commit | 019716a3d3ad02c7641e91b58c81d2c82ca5db58 (patch) | |
tree | 8faea77d76ba69f99f30ebb9cf26b0d7fa9f56df | |
parent | 3a453db9a2c0155e8f7de051fce9e1240567d922 (diff) | |
download | ShemovCleaner-019716a3d3ad02c7641e91b58c81d2c82ca5db58.tar.gz ShemovCleaner-019716a3d3ad02c7641e91b58c81d2c82ca5db58.tar.bz2 ShemovCleaner-019716a3d3ad02c7641e91b58c81d2c82ca5db58.zip |
Refresh favorite dirs after configuring
Update favorite dirs when adding or removing favorite directories. Also
try to keep the current selection.
-rw-r--r-- | filewidget.cpp | 8 | ||||
-rw-r--r-- | filewidget.h | 2 | ||||
-rw-r--r-- | shemovcleaner.cpp | 3 | ||||
-rw-r--r-- | shemovcleaner.h | 3 |
4 files changed, 15 insertions, 1 deletions
diff --git a/filewidget.cpp b/filewidget.cpp index ace8ab6..737b107 100644 --- a/filewidget.cpp +++ b/filewidget.cpp @@ -379,6 +379,8 @@ void FileWidget::readSettings(){ QSettings s; QString dir = s.value("video/searchdir", QDir::toNativeSeparators(QDir::homePath())).toString(); mDir->setText(dir); + populateFavDirs(); + populateMimeFilters(); } void FileWidget::writeSettings(){ @@ -468,6 +470,12 @@ void FileWidget::populateFavDirs(){ QStringList favDirs = s.value("favdirs").toStringList(); mFavDirs->clear(); mFavDirs->addItems(favDirs); + int cbidx = mFavDirs->findText(mDir->text()); + if(cbidx > -1){ + mFavDirs->blockSignals(true); + mFavDirs->setCurrentIndex(cbidx); + mFavDirs->blockSignals(false); + } } void FileWidget::populateMimeFilters(){ diff --git a/filewidget.h b/filewidget.h index a58ec06..eed1692 100644 --- a/filewidget.h +++ b/filewidget.h @@ -76,6 +76,7 @@ class FileWidget : public QWidget { void copySuccess(bool success, QString source); void removeFromCache(); void clearCache(); + void readSettings(); protected: virtual void keyPressEvent(QKeyEvent *e); @@ -88,7 +89,6 @@ class FileWidget : public QWidget { int md5Count(const QString &md5); void readHeaderData(); void writeHeaderData(); - void readSettings(); void writeSettings(); void readCache(); void writeCache(); diff --git a/shemovcleaner.cpp b/shemovcleaner.cpp index 93313e5..4a6555e 100644 --- a/shemovcleaner.cpp +++ b/shemovcleaner.cpp @@ -24,6 +24,7 @@ #include "searchwidget.h" #include "torrentdisplay.h" #include "configurationwidget.h" +#include "filewidget.h" #include "globals.h" ShemovCleaner::ShemovCleaner(QWidget *parent, Qt::WindowFlags f) : QMainWindow(parent, f) { @@ -81,6 +82,7 @@ ShemovCleaner::ShemovCleaner(QWidget *parent, Qt::WindowFlags f) : QMainWindow(p connect(mFileTab, SIGNAL(durationChanged(QString)), this, SLOT(setDuration(QString))); connect(mFileTab, SIGNAL(freeSpaceChanged(QString)), this, SLOT(updateFreeSpace(QString))); connect(mTab, SIGNAL(currentChanged(int)), this, SLOT(tabChanged(int))); + connect(this, &ShemovCleaner::configurationChanged, mFileTab, &FileWidget::readSettings); QMenu *helpMenu = new QMenu(tr("&Help")); QAction *aboutThisA = new QAction(tr("About ShemovCleaner..."), this); @@ -153,6 +155,7 @@ void ShemovCleaner::configure(){ int res = w.exec(); if(res == QDialog::Accepted){ openDatabase(); + emit configurationChanged(); } } diff --git a/shemovcleaner.h b/shemovcleaner.h index c7d234f..a2b73b1 100644 --- a/shemovcleaner.h +++ b/shemovcleaner.h @@ -30,6 +30,9 @@ class ShemovCleaner : public QMainWindow { protected: virtual void closeEvent(QCloseEvent *e); + signals: + void configurationChanged(); + private: void createStatusBar(); void createGlobalActions(); |