diff options
-rw-r--r-- | fswidget.cpp | 11 | ||||
-rw-r--r-- | fswidget.h | 1 |
2 files changed, 12 insertions, 0 deletions
diff --git a/fswidget.cpp b/fswidget.cpp index 167aca7..c096090 100644 --- a/fswidget.cpp +++ b/fswidget.cpp @@ -83,6 +83,7 @@ void FSWidget::setupWidget(){ mFilterCB = new QComboBox; mFilterCB->setInsertPolicy(QComboBox::InsertAlphabetically); mFilterCB->setSizeAdjustPolicy(QComboBox::AdjustToContents); + connect(mFilterCB, &QComboBox::currentTextChanged, this, &FSWidget::filterMime); QAction *addFilterA = new QAction(plusIcon, tr("Add filter..."), this); connect(addFilterA, &QAction::triggered, [=] { @@ -384,3 +385,13 @@ int FSWidget::queryCount(QSqlQuery &q, const QString &arg){ ++mQueryCount; return retval; } + +void FSWidget::filterMime(const QString &mime){ + QString filter = mime; + if(filter == "<all>"){ + filter = QString(); + } + mProxy->setFilterKeyColumn(1); + mProxy->setFilterRegExp(filter); + mProxy->setFilterCaseSensitivity(Qt::CaseInsensitive); +} @@ -35,6 +35,7 @@ class FSWidget : public QWidget { void archiveMovie(); void advanceDir(int by); int queryCount(QSqlQuery &q, const QString &arg); + void filterMime(const QString &mime); signals: void message(QString msg); |