diff --git a/src/plugins/cmakeprojectmanager/cmakeformatter.cpp b/src/plugins/cmakeprojectmanager/cmakeformatter.cpp index d5aac5e64b2..4cbd4d2d50e 100644 --- a/src/plugins/cmakeprojectmanager/cmakeformatter.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeformatter.cpp @@ -92,11 +92,11 @@ public: }; }); - ActionContainer *menu = ActionManager::createMenu(Constants::CMAKEFORMATTER_MENU_ID); - menu->menu()->setTitle(Tr::tr("CMakeFormatter")); - menu->menu()->setIcon(ProjectExplorer::Icons::CMAKE_LOGO.icon()); - menu->setOnAllDisabledBehavior(ActionContainer::Show); - ActionManager::actionContainer(Core::Constants::M_TOOLS)->addMenu(menu); + MenuBuilder(Constants::CMAKEFORMATTER_MENU_ID) + .setTitle(Tr::tr("CMakeFormatter")) + .setIcon(ProjectExplorer::Icons::CMAKE_LOGO.icon()) + .setOnAllDisabledBehavior(ActionContainer::Show) + .addToContainer(Core::Constants::M_TOOLS); Core::Command *cmd = ActionManager::registerAction(&formatFile, Constants::CMAKEFORMATTER_ACTION_ID); connect(&formatFile, &QAction::triggered, this, [this] { diff --git a/src/plugins/coreplugin/actionmanager/actionmanager.cpp b/src/plugins/coreplugin/actionmanager/actionmanager.cpp index be113a943b9..a586c53484a 100644 --- a/src/plugins/coreplugin/actionmanager/actionmanager.cpp +++ b/src/plugins/coreplugin/actionmanager/actionmanager.cpp @@ -418,6 +418,12 @@ MenuBuilder &MenuBuilder::setTitle(const QString &title) return *this; } +MenuBuilder &MenuBuilder::setIcon(const QIcon &icon) +{ + m_menu->menu()->setIcon(icon); + return *this; +} + MenuBuilder &MenuBuilder::setOnAllDisabledBehavior(ActionContainer::OnAllDisabledBehavior behavior) { m_menu->setOnAllDisabledBehavior(behavior); diff --git a/src/plugins/coreplugin/actionmanager/actionmanager.h b/src/plugins/coreplugin/actionmanager/actionmanager.h index d88da91ed19..48bcb7b118d 100644 --- a/src/plugins/coreplugin/actionmanager/actionmanager.h +++ b/src/plugins/coreplugin/actionmanager/actionmanager.h @@ -108,6 +108,7 @@ public: ~MenuBuilder(); MenuBuilder &setTitle(const QString &title); + MenuBuilder &setIcon(const QIcon &icon); MenuBuilder &setOnAllDisabledBehavior(ActionContainer::OnAllDisabledBehavior behavior); MenuBuilder &addToContainer(Utils::Id containerId, Utils::Id groupId = {}); MenuBuilder &addSeparator();