diff --git a/src/plugins/autotest/autotestplugin.cpp b/src/plugins/autotest/autotestplugin.cpp index 3dfaa4fad51..df73f237c6b 100644 --- a/src/plugins/autotest/autotestplugin.cpp +++ b/src/plugins/autotest/autotestplugin.cpp @@ -236,7 +236,7 @@ void AutotestPluginPrivate::initializeMenuEntries() this, &AutotestPlugin::updateMenuItemsEnabledState); connect(BuildManager::instance(), &BuildManager::buildQueueFinished, this, &AutotestPlugin::updateMenuItemsEnabledState); - connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::updateRunActions, + connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::runActionsUpdated, this, &AutotestPlugin::updateMenuItemsEnabledState); connect(TestTreeModel::instance(), &TestTreeModel::testTreeModelChanged, this, &AutotestPlugin::updateMenuItemsEnabledState); diff --git a/src/plugins/autotest/testrunconfiguration.h b/src/plugins/autotest/testrunconfiguration.h index 1c86f663591..df43b9dc86f 100644 --- a/src/plugins/autotest/testrunconfiguration.h +++ b/src/plugins/autotest/testrunconfiguration.h @@ -59,7 +59,7 @@ public: if (auto debugAspect = aspect()) { debugAspect->setUseQmlDebugger(enableQuick); - ProjectExplorer::ProjectExplorerPlugin::instance()->updateRunActions(); + ProjectExplorer::ProjectExplorerPlugin::updateRunActions(); } m_testConfig = config; } diff --git a/src/plugins/clangtools/clangtool.cpp b/src/plugins/clangtools/clangtool.cpp index a64ec2ea986..7536f57ad9a 100644 --- a/src/plugins/clangtools/clangtool.cpp +++ b/src/plugins/clangtools/clangtool.cpp @@ -602,7 +602,7 @@ ClangTool::ClangTool() update(); - connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::updateRunActions, + connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::runActionsUpdated, this, &ClangTool::update); connect(CppModelManager::instance(), &CppModelManager::projectPartsUpdated, this, &ClangTool::update); diff --git a/src/plugins/cppcheck/cppcheckplugin.cpp b/src/plugins/cppcheck/cppcheckplugin.cpp index 97bf20929e6..dcfb45aa4c9 100644 --- a/src/plugins/cppcheck/cppcheckplugin.cpp +++ b/src/plugins/cppcheck/cppcheckplugin.cpp @@ -176,7 +176,7 @@ bool CppcheckPlugin::initialize(const QStringList &arguments, QString *errorStri } using ProjectExplorer::ProjectExplorerPlugin; - connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::updateRunActions, + connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::runActionsUpdated, d.get(), &CppcheckPluginPrivate::updateManualRunAction); d->updateManualRunAction(); diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 5fdf0015e1b..73c8a2ade8b 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -1186,7 +1186,7 @@ DebuggerPluginPrivate::DebuggerPluginPrivate(const QStringList &arguments) this, &DebuggerPluginPrivate::writeSettings); // ProjectExplorer - connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::updateRunActions, + connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::runActionsUpdated, this, &DebuggerPluginPrivate::updatePresetState); // EditorManager diff --git a/src/plugins/perfprofiler/perfprofilertool.cpp b/src/plugins/perfprofiler/perfprofilertool.cpp index 5dc99eeceab..8176432c179 100644 --- a/src/plugins/perfprofiler/perfprofilertool.cpp +++ b/src/plugins/perfprofiler/perfprofilertool.cpp @@ -159,7 +159,7 @@ PerfProfilerTool::PerfProfilerTool() tracePointsAction->setEnabled(m_startAction->isEnabled()); }); - connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::updateRunActions, + connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::runActionsUpdated, this, &PerfProfilerTool::updateRunActions); m_recordButton = new QToolButton; diff --git a/src/plugins/projectexplorer/appoutputpane.cpp b/src/plugins/projectexplorer/appoutputpane.cpp index c777a61ee89..4f866490a10 100644 --- a/src/plugins/projectexplorer/appoutputpane.cpp +++ b/src/plugins/projectexplorer/appoutputpane.cpp @@ -779,7 +779,7 @@ void AppOutputPane::slotRunControlFinished2(RunControl *sender) if (current && current == sender) enableButtons(current); - emit ProjectExplorerPlugin::instance()->updateRunActions(); + ProjectExplorerPlugin::updateRunActions(); #ifdef Q_OS_WIN const bool isRunning = Utils::anyOf(m_runControlTabs, [](const RunControlTab &rt) { diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index a6262cf69d1..c7269480ce9 100644 --- a/src/plugins/projectexplorer/buildconfiguration.cpp +++ b/src/plugins/projectexplorer/buildconfiguration.cpp @@ -141,7 +141,7 @@ BuildConfiguration::BuildConfiguration(Target *target, Core::Id id) connect(this, &BuildConfiguration::enabledChanged, this, [this] { if (isActive() && project() == SessionManager::startupProject()) { ProjectExplorerPlugin::updateActions(); - emit ProjectExplorerPlugin::instance()->updateRunActions(); + ProjectExplorerPlugin::updateRunActions(); } }); } diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 3f35d0b34e2..b99c4384f57 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -453,7 +453,7 @@ public: void activeRunConfigurationChanged(); void activeBuildConfigurationChanged(); - void slotUpdateRunActions(); + void doUpdateRunActions(); void currentModeChanged(Core::Id mode, Core::Id oldMode); @@ -1705,8 +1705,6 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er connect(dd->m_projectTreeExpandAllAction, &QAction::triggered, ProjectTree::instance(), &ProjectTree::expandAll); - connect(this, &ProjectExplorerPlugin::updateRunActions, - dd, &ProjectExplorerPluginPrivate::slotUpdateRunActions); connect(this, &ProjectExplorerPlugin::settingsChanged, dd, &ProjectExplorerPluginPrivate::updateRunWithoutDeployMenu); @@ -2469,7 +2467,7 @@ void ProjectExplorerPluginPrivate::startRunControl(RunControl *runControl) Qt::QueuedConnection); ++m_activeRunControlCount; runControl->initiateStart(); - emit m_instance->updateRunActions(); + doUpdateRunActions(); } void ProjectExplorerPluginPrivate::showOutputPaneForRunControl(RunControl *runControl) @@ -2526,7 +2524,7 @@ void ProjectExplorerPluginPrivate::buildQueueFinished(bool success) m_delayedRunConfiguration = nullptr; m_shouldHaveRunConfiguration = false; m_runMode = Constants::NO_RUN_MODE; - emit m_instance->updateRunActions(); + doUpdateRunActions(); } QList > ProjectExplorerPluginPrivate::recentProjects() const @@ -2889,7 +2887,8 @@ void ProjectExplorerPlugin::runRunConfiguration(RunConfiguration *rc, dd->executeRunConfiguration(rc, runMode); break; } - emit m_instance->updateRunActions(); + + dd->doUpdateRunActions(); } QList> ProjectExplorerPlugin::runningRunControlProcesses() @@ -2987,7 +2986,7 @@ void ProjectExplorerPluginPrivate::activeRunConfigurationChanged() if (rc == previousRunConfiguration) return; updateActions(); - emit m_instance->updateRunActions(); + doUpdateRunActions(); } void ProjectExplorerPluginPrivate::activeBuildConfigurationChanged() @@ -3001,7 +3000,7 @@ void ProjectExplorerPluginPrivate::activeBuildConfigurationChanged() return; updateActions(); - emit m_instance->updateRunActions(); + doUpdateRunActions(); } void ProjectExplorerPluginPrivate::updateDeployActions() @@ -3050,7 +3049,7 @@ void ProjectExplorerPluginPrivate::updateDeployActions() enableDeploySessionAction = false; m_deploySessionAction->setEnabled(enableDeploySessionAction); - emit m_instance->updateRunActions(); + doUpdateRunActions(); } bool ProjectExplorerPlugin::canRunStartupProject(Core::Id runMode, QString *whyNot) @@ -3125,13 +3124,15 @@ bool ProjectExplorerPlugin::canRunStartupProject(Core::Id runMode, QString *whyN return true; } -void ProjectExplorerPluginPrivate::slotUpdateRunActions() +void ProjectExplorerPluginPrivate::doUpdateRunActions() { QString whyNot; const bool state = ProjectExplorerPlugin::canRunStartupProject(Constants::NORMAL_RUN_MODE, &whyNot); m_runAction->setEnabled(state); m_runAction->setToolTip(whyNot); m_runWithoutDeployAction->setEnabled(state); + + emit m_instance->runActionsUpdated(); } void ProjectExplorerPluginPrivate::addToRecentProjects(const QString &fileName, const QString &displayName) @@ -3988,6 +3989,11 @@ void ProjectExplorerPlugin::removeFromRecentProjects(const QString &fileName, dd->removeFromRecentProjects(fileName, displayName); } +void ProjectExplorerPlugin::updateRunActions() +{ + dd->doUpdateRunActions(); +} + QList > ProjectExplorerPlugin::recentProjects() { return dd->recentProjects(); diff --git a/src/plugins/projectexplorer/projectexplorer.h b/src/plugins/projectexplorer/projectexplorer.h index 91f14acd5bb..55870aefa1c 100644 --- a/src/plugins/projectexplorer/projectexplorer.h +++ b/src/plugins/projectexplorer/projectexplorer.h @@ -180,6 +180,8 @@ public: static void clearRecentProjects(); static void removeFromRecentProjects(const QString &fileName, const QString &displayName); + static void updateRunActions(); + signals: void finishedInitialization(); @@ -191,7 +193,7 @@ signals: void settingsChanged(); - void updateRunActions(); + void runActionsUpdated(); private: static bool coreAboutToClose(); diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp index 303f6298a56..1b79a610c58 100644 --- a/src/plugins/projectexplorer/runconfiguration.cpp +++ b/src/plugins/projectexplorer/runconfiguration.cpp @@ -303,7 +303,7 @@ void RunConfiguration::update() const bool isActive = target()->isActive() && target()->activeRunConfiguration() == this; if (isActive && project() == SessionManager::startupProject()) - emit ProjectExplorerPlugin::instance()->updateRunActions(); + ProjectExplorerPlugin::updateRunActions(); } BuildTargetInfo RunConfiguration::buildTargetInfo() const diff --git a/src/plugins/qmlprofiler/qmlprofilertool.cpp b/src/plugins/qmlprofiler/qmlprofilertool.cpp index c14d60d3842..274935b8a40 100644 --- a/src/plugins/qmlprofiler/qmlprofilertool.cpp +++ b/src/plugins/qmlprofiler/qmlprofilertool.cpp @@ -243,7 +243,7 @@ QmlProfilerTool::QmlProfilerTool() perspective->addToolBarWidget(d->m_displayFeaturesButton); perspective->addToolBarWidget(d->m_timeLabel); - connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::updateRunActions, + connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::runActionsUpdated, this, &QmlProfilerTool::updateRunActions); QmlProfilerTextMarkModel *model = d->m_profilerModelManager->textMarkModel(); diff --git a/src/plugins/valgrind/callgrindtool.cpp b/src/plugins/valgrind/callgrindtool.cpp index a6e5f078d6b..92ed908ac96 100644 --- a/src/plugins/valgrind/callgrindtool.cpp +++ b/src/plugins/valgrind/callgrindtool.cpp @@ -530,7 +530,7 @@ CallgrindToolPrivate::CallgrindToolPrivate() m_perspective.addWindow(m_visualization, Perspective::SplitVertical, nullptr, false, Qt::RightDockWidgetArea); - connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::updateRunActions, + connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::runActionsUpdated, this, &CallgrindToolPrivate::updateRunActions); } diff --git a/src/plugins/valgrind/memchecktool.cpp b/src/plugins/valgrind/memchecktool.cpp index 64475eba242..fd8025fc8b1 100644 --- a/src/plugins/valgrind/memchecktool.cpp +++ b/src/plugins/valgrind/memchecktool.cpp @@ -571,7 +571,7 @@ MemcheckToolPrivate::MemcheckToolPrivate() m_perspective.addWindow(m_errorView, Perspective::SplitVertical, nullptr); - connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::updateRunActions, + connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::runActionsUpdated, this, &MemcheckToolPrivate::maybeActiveRunConfigurationChanged); //