From 7451517e4a5e9aeffe31f1cd7346b07c0c9e15ac Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Sat, 23 Dec 2017 15:49:21 +0100 Subject: Add select-all, deselect-all and invert-selection options to filters To every filter list add a menu button that allows selection of all, selection of none or inversion of selection. Implements #435. Signed-off-by: Berthold Stoeger --- desktop-widgets/listfilter.ui | 10 ++++++++++ desktop-widgets/simplewidgets.cpp | 6 ++++++ 2 files changed, 16 insertions(+) (limited to 'desktop-widgets') diff --git a/desktop-widgets/listfilter.ui b/desktop-widgets/listfilter.ui index 48d813d21..dcdcd932e 100644 --- a/desktop-widgets/listfilter.ui +++ b/desktop-widgets/listfilter.ui @@ -51,6 +51,16 @@ + + + + ... + + + QToolButton::InstantPopup + + + diff --git a/desktop-widgets/simplewidgets.cpp b/desktop-widgets/simplewidgets.cpp index addbda6af..86ea1fbc0 100644 --- a/desktop-widgets/simplewidgets.cpp +++ b/desktop-widgets/simplewidgets.cpp @@ -513,6 +513,12 @@ FilterBase::FilterBase(FilterModelBase *model_, QWidget *parent) filter->setFilterCaseSensitivity(Qt::CaseInsensitive); connect(ui.filterInternalList, SIGNAL(textChanged(QString)), filter, SLOT(setFilterFixedString(QString))); ui.filterList->setModel(filter); + + QMenu *menu = new QMenu(this); + menu->addAction(tr("Select All"), model, &FilterModelBase::selectAll); + menu->addAction(tr("Unselect All"), model, &FilterModelBase::clearFilter); + menu->addAction(tr("Invert Selection"), model, &FilterModelBase::invertSelection); + ui.selectionButton->setMenu(menu); } void FilterBase::showEvent(QShowEvent *event) -- cgit v1.2.3-70-g09d2