From a3b3745d7c7ff94cfeac78daca2b0d89cb6c865e Mon Sep 17 00:00:00 2001 From: John Preston Date: Wed, 29 Dec 2021 17:52:40 +0300 Subject: [PATCH] Allow click on a submenu-creating item. --- ui/widgets/menu/menu.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/ui/widgets/menu/menu.cpp b/ui/widgets/menu/menu.cpp index 1460114..23c6bd0 100644 --- a/ui/widgets/menu/menu.cpp +++ b/ui/widgets/menu/menu.cpp @@ -367,8 +367,19 @@ void Menu::mouseReleaseEvent(QMouseEvent *e) { void Menu::handleMousePress(QPoint globalPosition) { handleMouseMove(globalPosition); - if (_mousePressDelegate) { - _mousePressDelegate(globalPosition); + const auto margins = style::margins(0, _st.skip, 0, _st.skip); + const auto inner = rect().marginsRemoved(margins); + const auto localPosition = mapFromGlobal(globalPosition); + const auto pressed = (inner.contains(localPosition) + && _lastSelectedByMouse) + ? findSelectedAction() + : nullptr; + if (pressed) { + pressed->setClicked(); + } else { + if (_mousePressDelegate) { + _mousePressDelegate(globalPosition); + } } }