diff options
Diffstat (limited to 'filewidget.cpp')
-rw-r--r-- | filewidget.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/filewidget.cpp b/filewidget.cpp index 737b107..decedd9 100644 --- a/filewidget.cpp +++ b/filewidget.cpp @@ -85,6 +85,7 @@ void FileWidget::setupGui(){ mMimeFilters = new QComboBox; populateMimeFilters(); connect(mMimeFilters, QOverload<const QString &>::of(&QComboBox::activated), [this](const QString &text) { filter(MimeColumn, text); }); + connect(mMimeFilters, &QComboBox::currentTextChanged, [this](const QString &text) { filter(MimeColumn, text); }); QGridLayout *topL = new QGridLayout; topL->addWidget(new QLabel(tr("Directory")), 0, 0); @@ -139,6 +140,10 @@ void FileWidget::setupGui(){ mMimeData = new QMimeData; mFileView->setFocus(); mCopyProgress->setVisible(false); + + QSettings s; + QString startMimeFilter = s.value("currentmimefilter").toString(); + mMimeFilters->setCurrentText(startMimeFilter); } void FileWidget::createActions(){ @@ -386,6 +391,7 @@ void FileWidget::readSettings(){ void FileWidget::writeSettings(){ QSettings s; s.setValue("video/searchdir", mDir->text()); + s.setValue("currentmimefilter", mMimeFilters->currentText()); } void FileWidget::readCache(){ @@ -480,11 +486,18 @@ void FileWidget::populateFavDirs(){ void FileWidget::populateMimeFilters(){ QSettings s; + QString current = mMimeFilters->currentText(); QStringList mimeFilters = s.value("mimefilters").toStringList(); mimeFilters.sort(); mimeFilters.prepend(tr("<all>")); mMimeFilters->clear(); mMimeFilters->addItems(mimeFilters); + int cbidx = mMimeFilters->findText(current); + if(cbidx > -1){ + mMimeFilters->blockSignals(true); + mMimeFilters->setCurrentIndex(cbidx); + mMimeFilters->blockSignals(false); + } } QList<QStandardItem*> FileWidget::constructRow(CachedFileData *fd) const{ |