diff options
author | Arno <arno@disconnect.de> | 2018-02-17 18:21:07 +0100 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2018-02-17 18:21:07 +0100 |
commit | b49d5333119239cf32f873d25a3d46d788f9747e (patch) | |
tree | bdab2c63dff80d5d61e5dd508bfeb03c920542f4 /collectionwidget.cpp | |
parent | e517fc534681590ea72b1eac1b5b12d36d7e502d (diff) | |
download | BeetPlayer-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.cpp | 21 |
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); } |