diff options
-rw-r--r-- | collectionwidget.cpp | 21 | ||||
-rw-r--r-- | collectionwidget.h | 2 |
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; }; |