From 56f9493445c1f53cee27f621f181d6a8905ebe1a Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 29 Jan 2024 18:48:33 +0100 Subject: [PATCH] CompilationDatabase: Use ActionBuilder Change-Id: I0469a25370592f62391d79fa1b8cc0f34ea362e7 Reviewed-by: Jarek Kobus Reviewed-by: --- ...compilationdatabaseprojectmanagerplugin.cpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseprojectmanagerplugin.cpp b/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseprojectmanagerplugin.cpp index 2bd70d34e11..3c11da4384f 100644 --- a/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseprojectmanagerplugin.cpp +++ b/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseprojectmanagerplugin.cpp @@ -48,21 +48,21 @@ class CompilationDatabaseProjectManagerPlugin final : public ExtensionSystem::IP ProjectManager::registerProjectType( Constants::COMPILATIONDATABASEMIMETYPE); - Command *cmd = ActionManager::registerAction(&m_changeRootAction, CHANGEROOTDIR); - ActionContainer *mprojectContextMenu = ActionManager::actionContainer( ProjectExplorer::Constants::M_PROJECTCONTEXT); mprojectContextMenu->addSeparator(ProjectExplorer::Constants::G_PROJECT_TREE); - mprojectContextMenu->addAction(cmd, ProjectExplorer::Constants::G_PROJECT_TREE); - connect(&m_changeRootAction, &QAction::triggered, - ProjectTree::instance(), &ProjectTree::changeProjectRootDirectory); + QAction *changeRootAction = nullptr; + ActionBuilder(this, CHANGEROOTDIR) + .setText(Tr::tr("Change Root Directory")) + .bindContextAction(&changeRootAction) + .addToContainer(ProjectExplorer::Constants::M_PROJECTCONTEXT) + .addOnTriggered(ProjectTree::instance(), &ProjectTree::changeProjectRootDirectory); - const auto onProjectChanged = [this] { + const auto onProjectChanged = [changeRootAction] { const auto currentProject = qobject_cast( ProjectTree::currentProject()); - - m_changeRootAction.setEnabled(currentProject); + changeRootAction->setEnabled(currentProject); }; connect(ProjectManager::instance(), &ProjectManager::startupProjectChanged, @@ -75,8 +75,6 @@ class CompilationDatabaseProjectManagerPlugin final : public ExtensionSystem::IP addTest(); #endif } - - QAction m_changeRootAction{Tr::tr("Change Root Directory")}; }; } // CompilationDatabaseProjectManager::Internal