diff --git a/src/libs/utils/execmenu.cpp b/src/libs/utils/execmenu.cpp index d607a8de69a..13d79152953 100644 --- a/src/libs/utils/execmenu.cpp +++ b/src/libs/utils/execmenu.cpp @@ -3,6 +3,8 @@ #include "execmenu.h" +#include "tooltip/tooltip.h" + #include #include #include @@ -41,4 +43,14 @@ QAction *execMenuAtWidget(QMenu *menu, QWidget *widget) return menu->exec(p); } +/*! + Adds tool tips to the menu that show the actions tool tip when hovering over an entry. + */ +void addToolTipsToMenu(QMenu *menu) +{ + QObject::connect(menu, &QMenu::hovered, menu, [menu](QAction *action) { + ToolTip::show(menu->mapToGlobal(menu->actionGeometry(action).topRight()), action->toolTip()); + }); +} + } // namespace Utils diff --git a/src/libs/utils/execmenu.h b/src/libs/utils/execmenu.h index 90fac94c0e8..9ad63d88ead 100644 --- a/src/libs/utils/execmenu.h +++ b/src/libs/utils/execmenu.h @@ -14,5 +14,6 @@ QT_END_NAMESPACE namespace Utils { QTCREATOR_UTILS_EXPORT QAction *execMenuAtWidget(QMenu *menu, QWidget *widget); +QTCREATOR_UTILS_EXPORT void addToolTipsToMenu(QMenu *menu); } // namespace Utils diff --git a/src/plugins/coreplugin/locator/locatorwidget.cpp b/src/plugins/coreplugin/locator/locatorwidget.cpp index 8af3f4b753d..67a2eba5bb2 100644 --- a/src/plugins/coreplugin/locator/locatorwidget.cpp +++ b/src/plugins/coreplugin/locator/locatorwidget.cpp @@ -13,6 +13,7 @@ #include "../modemanager.h" #include +#include #include #include #include @@ -22,7 +23,6 @@ #include #include #include - #include #include #include @@ -584,13 +584,12 @@ LocatorWidget::LocatorWidget(Locator *locator) m_centeredPopupAction->setCheckable(true); m_centeredPopupAction->setChecked(Locator::useCenteredPopupForShortcut()); + connect(m_filterMenu, &QMenu::aboutToShow, this, [this] { m_centeredPopupAction->setChecked(Locator::useCenteredPopupForShortcut()); }); - connect(m_filterMenu, &QMenu::hovered, this, [this](QAction *action) { - ToolTip::show(m_filterMenu->mapToGlobal(m_filterMenu->actionGeometry(action).topRight()), - action->toolTip()); - }); + Utils::addToolTipsToMenu(m_filterMenu); + connect(m_centeredPopupAction, &QAction::toggled, locator, [locator](bool toggled) { if (toggled != Locator::useCenteredPopupForShortcut()) { Locator::setUseCenteredPopupForShortcut(toggled);