diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2017-12-24 14:34:53 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2017-12-26 13:08:49 -0800 |
commit | b86c70ab2ce91c46355a71008334aa6743caa1e6 (patch) | |
tree | 6d734882c16b18b7d913da1dd683b5f70ba32398 /desktop-widgets/simplewidgets.cpp | |
parent | 931947b852aaa25e62715f2d8d275c0bd47fa3d5 (diff) | |
download | subsurface-b86c70ab2ce91c46355a71008334aa6743caa1e6.tar.gz |
Turn filter list options into context menu
Let the menu introduced in commit 5e86442bab680b79fbd3cd490091ab9f14252e94
pop up on right-click instead of button-click.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'desktop-widgets/simplewidgets.cpp')
-rw-r--r-- | desktop-widgets/simplewidgets.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/desktop-widgets/simplewidgets.cpp b/desktop-widgets/simplewidgets.cpp index 167d3db1a..b63349819 100644 --- a/desktop-widgets/simplewidgets.cpp +++ b/desktop-widgets/simplewidgets.cpp @@ -498,6 +498,13 @@ void DiveComponentSelection::buttonClicked(QAbstractButton *button) } } +void FilterBase::addContextMenuEntry(const QString &s, void (FilterModelBase::*fn)()) +{ + QAction *act = new QAction(s, this); + connect(act, &QAction::triggered, model, fn); + ui.filterList->addAction(act); +} + FilterBase::FilterBase(FilterModelBase *model_, QWidget *parent) : QWidget(parent), model(model_) { @@ -511,11 +518,10 @@ FilterBase::FilterBase(FilterModelBase *model_, QWidget *parent) : QWidget(paren 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); + addContextMenuEntry(tr("Select All"), &FilterModelBase::selectAll); + addContextMenuEntry(tr("Unselect All"), &FilterModelBase::clearFilter); + addContextMenuEntry(tr("Invert Selection"), &FilterModelBase::invertSelection); + ui.filterList->setContextMenuPolicy(Qt::ActionsContextMenu); } void FilterBase::showEvent(QShowEvent *event) |