summaryrefslogtreecommitdiffstats
path: root/collectionwidget.cpp
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 /collectionwidget.cpp
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 :)
Diffstat (limited to 'collectionwidget.cpp')
-rw-r--r--collectionwidget.cpp21
1 files changed, 20 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);
}