summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2018-02-17 18:21:07 +0100
committerArno <arno@disconnect.de>2018-02-17 18:21:07 +0100
commitb49d5333119239cf32f873d25a3d46d788f9747e (patch)
treebdab2c63dff80d5d61e5dd508bfeb03c920542f4
parente517fc534681590ea72b1eac1b5b12d36d7e502d (diff)
downloadBeetPlayer-b49d5333119239cf32f873d25a3d46d788f9747e.tar.gz
BeetPlayer-b49d5333119239cf32f873d25a3d46d788f9747e.tar.bz2
BeetPlayer-b49d5333119239cf32f873d25a3d46d788f9747e.zip
Re-Add filter
It's a replacement for search. It isn't very useful yet, since it doesn't show the children yet :)
-rw-r--r--collectionwidget.cpp21
-rw-r--r--collectionwidget.h2
2 files changed, 22 insertions, 1 deletions
diff --git a/collectionwidget.cpp b/collectionwidget.cpp
index cbc6dbf..0066e22 100644
--- a/collectionwidget.cpp
+++ b/collectionwidget.cpp
@@ -1,6 +1,10 @@
#include <QStandardItem>
#include <QSortFilterProxyModel>
+#include <QLineEdit>
+#include <QGroupBox>
+#include <QToolBar>
#include <QHBoxLayout>
+#include <QVBoxLayout>
#include "collectionwidget.h"
@@ -12,7 +16,22 @@ CollectionWidget::CollectionWidget(QWidget *parent) : QWidget(parent){
mView->setModel(mProxy);
mView->setSortingEnabled(true);
mView->setAlternatingRowColors(true);
- QHBoxLayout *mainLayout = new QHBoxLayout;
+ QGroupBox *filterGB = new QGroupBox(tr("Filter"));
+ QHBoxLayout *filterGBL = new QHBoxLayout;
+ mFilter = new QLineEdit;
+ filterGBL->addWidget(mFilter);
+ QToolBar *filterTB = new QToolBar;
+ QAction *clearFilter = new QAction(QIcon(":/clean_tampon.png"), tr("Clear filter"), this);
+ connect(clearFilter, &QAction::triggered, [this] { mFilter->clear(); proxy()->setFilterRegExp("");} );
+ filterTB->addAction(clearFilter);
+ QAction *activateFilter = new QAction(QIcon(":/stomp.png"), tr("Filter!"), this);
+ connect(activateFilter, &QAction::triggered, [this] { proxy()->setFilterRegExp(mFilter->text());} );
+ connect(mFilter, &QLineEdit::returnPressed, activateFilter, &QAction::trigger);
+ filterTB->addAction(activateFilter);
+ filterGBL->addWidget(filterTB);
+ filterGB->setLayout(filterGBL);
+ QVBoxLayout *mainLayout = new QVBoxLayout;
+ mainLayout->addWidget(filterGB);
mainLayout->addWidget(mView);
setLayout(mainLayout);
}
diff --git a/collectionwidget.h b/collectionwidget.h
index c76582c..e2aaa02 100644
--- a/collectionwidget.h
+++ b/collectionwidget.h
@@ -6,6 +6,7 @@
class QStandardItemModel;
class QSortFilterProxyModel;
+class QLineEdit;
class CollectionWidget : public QWidget {
Q_OBJECT
@@ -30,6 +31,7 @@ class CollectionWidget : public QWidget {
QTreeView *mView;
QStandardItemModel *mModel;
QSortFilterProxyModel *mProxy;
+ QLineEdit *mFilter;
QStringList mHeaders;
};