From 2979c387abeec9c5b29989ae70bf2ad93836fa18 Mon Sep 17 00:00:00 2001 From: Bas Ruigrok Date: Sun, 23 Nov 2025 14:30:51 +0100 Subject: [PATCH] Gui: Simplify QObject::connect in openPopupMenu Co-authored-by: xtemp09 <9303235+xtemp09@users.noreply.github.com> --- src/Gui/Navigation/NavigationStyle.cpp | 37 ++++++++++++-------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/src/Gui/Navigation/NavigationStyle.cpp b/src/Gui/Navigation/NavigationStyle.cpp index cee922d900..2008a291e2 100644 --- a/src/Gui/Navigation/NavigationStyle.cpp +++ b/src/Gui/Navigation/NavigationStyle.cpp @@ -2149,29 +2149,26 @@ void NavigationStyle::openPopupMenu(const SbVec2s& position) contextMenu->insertSeparator(posAction); } - QObject::connect( - contextMenu, - &QMenu::triggered, - contextMenu, - [this, navMenuGroup, pickAction](QAction* selectedAction) { - // handle navigation style change if user selected a navigation style option - if (selectedAction && isNavigationStyleAction(selectedAction, navMenuGroup)) { - applyNavigationStyleChange(selectedAction); - rightClickPosition.reset(); - return; - } + auto navigationFunction = [this, navMenuGroup](QAction* selectedAction) { + // handle navigation style change if user selected a navigation style option + if (isNavigationStyleAction(selectedAction, navMenuGroup)) { + applyNavigationStyleChange(selectedAction); + rightClickPosition.reset(); + } + }; - if (pickAction && selectedAction == pickAction) { - // Execute the Clarify Selection command at this position - auto cmd = Application::Instance->commandManager().getCommandByName( - "Std_ClarifySelection" - ); - if (cmd && cmd->isActive()) { - cmd->invoke(0); // required placeholder value - we don't use group command - } + auto clarifyFunction = [pickAction](QAction* selectedAction) { + if (selectedAction == pickAction) { + // Execute the Clarify Selection command at this position + auto cmd = Application::Instance->commandManager().getCommandByName("Std_ClarifySelection"); + if (cmd && cmd->isActive()) { + cmd->invoke(0); // required placeholder value - we don't use group command } } - ); + }; + + QObject::connect(contextMenu, &QMenu::triggered, navigationFunction); + QObject::connect(contextMenu, &QMenu::triggered, clarifyFunction); contextMenu->popup(QCursor::pos());