From 6e7a31c4fecf82485f7b462b57f0c05218248c8a Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 30 Jun 2017 08:41:08 +0200 Subject: [PATCH] Debugger: Move startupRunConfiguration to RunConfiguration It's not really debugger-specific. Change-Id: I2246e08d896df1d625ecce9b8b5428e7ea398851 Reviewed-by: Christian Stenger --- src/plugins/debugger/analyzer/analyzermanager.h | 6 +----- src/plugins/debugger/debuggerplugin.cpp | 11 +---------- src/plugins/projectexplorer/runconfiguration.cpp | 15 +++++++++++++++ src/plugins/projectexplorer/runconfiguration.h | 2 ++ src/plugins/qmlprofiler/qmlprofilertool.cpp | 4 ++-- src/plugins/valgrind/callgrindtool.cpp | 2 +- src/plugins/valgrind/memchecktool.cpp | 2 +- 7 files changed, 23 insertions(+), 19 deletions(-) diff --git a/src/plugins/debugger/analyzer/analyzermanager.h b/src/plugins/debugger/analyzer/analyzermanager.h index 9a3dedd9d99..5907c819aa5 100644 --- a/src/plugins/debugger/analyzer/analyzermanager.h +++ b/src/plugins/debugger/analyzer/analyzermanager.h @@ -30,11 +30,7 @@ #include "../debuggermainwindow.h" -#include - -#include -#include -#include +#include #include diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 16622638f37..72b69ab41b1 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -3416,19 +3416,10 @@ static bool buildTypeAccepted(QFlags toolMode, BuildConfiguration::Bui return false; } -RunConfiguration *startupRunConfiguration() -{ - if (Project *pro = SessionManager::startupProject()) { - if (const Target *target = pro->activeTarget()) - return target->activeRunConfiguration(); - } - return nullptr; -} - static BuildConfiguration::BuildType startupBuildType() { BuildConfiguration::BuildType buildType = BuildConfiguration::Unknown; - if (RunConfiguration *runConfig = startupRunConfiguration()) { + if (RunConfiguration *runConfig = RunConfiguration::startupRunConfiguration()) { if (const BuildConfiguration *buildConfig = runConfig->target()->activeBuildConfiguration()) buildType = buildConfig->buildType(); } diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp index 79f7067104c..e95e49044dd 100644 --- a/src/plugins/projectexplorer/runconfiguration.cpp +++ b/src/plugins/projectexplorer/runconfiguration.cpp @@ -33,6 +33,7 @@ #include "environmentaspect.h" #include "kitinformation.h" #include "runnables.h" +#include "session.h" #include @@ -243,6 +244,20 @@ void RunConfiguration::ctor() [this] { return displayName(); }, false); } +/*! + * Returns the RunConfiguration of the currently active target + * of the startup project, if such exists, or \c nullptr otherwise. + */ + +RunConfiguration *RunConfiguration::startupRunConfiguration() +{ + if (Project *pro = SessionManager::startupProject()) { + if (const Target *target = pro->activeTarget()) + return target->activeRunConfiguration(); + } + return nullptr; +} + /*! Checks whether a run configuration is enabled. */ diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h index cf1d5c7a9ad..cd954b98887 100644 --- a/src/plugins/projectexplorer/runconfiguration.h +++ b/src/plugins/projectexplorer/runconfiguration.h @@ -281,6 +281,8 @@ public: void addExtraAspect(IRunConfigurationAspect *aspect); + static RunConfiguration *startupRunConfiguration(); + signals: void enabledChanged(); void requestRunActionsUpdate(); diff --git a/src/plugins/qmlprofiler/qmlprofilertool.cpp b/src/plugins/qmlprofiler/qmlprofilertool.cpp index b661fab197f..8a655b955c6 100644 --- a/src/plugins/qmlprofiler/qmlprofilertool.cpp +++ b/src/plugins/qmlprofiler/qmlprofilertool.cpp @@ -587,8 +587,8 @@ void QmlProfilerTool::attachToWaitingApplication() Debugger::selectPerspective(Constants::QmlProfilerPerspectiveId); - RunConfiguration *rc = Debugger::startupRunConfiguration(); - auto runControl = new RunControl(rc, ProjectExplorer::Constants::QML_PROFILER_RUN_MODE); + auto runConfig = RunConfiguration::startupRunConfiguration(); + auto runControl = new RunControl(runConfig, ProjectExplorer::Constants::QML_PROFILER_RUN_MODE); auto profiler = new QmlProfilerRunner(runControl); profiler->setServerUrl(serverUrl); diff --git a/src/plugins/valgrind/callgrindtool.cpp b/src/plugins/valgrind/callgrindtool.cpp index 1564fcb78d0..0c8f1478dbd 100644 --- a/src/plugins/valgrind/callgrindtool.cpp +++ b/src/plugins/valgrind/callgrindtool.cpp @@ -277,7 +277,7 @@ CallgrindTool::CallgrindTool(QObject *parent) menu->addAction(ActionManager::registerAction(action, CallgrindRemoteActionId), Debugger::Constants::G_ANALYZER_REMOTE_TOOLS); QObject::connect(action, &QAction::triggered, this, [this, action] { - RunConfiguration *runConfig = startupRunConfiguration(); + auto runConfig = RunConfiguration::startupRunConfiguration(); if (!runConfig) { showCannotStartDialog(action->text()); return; diff --git a/src/plugins/valgrind/memchecktool.cpp b/src/plugins/valgrind/memchecktool.cpp index 5ae5bf3f152..195aede309a 100644 --- a/src/plugins/valgrind/memchecktool.cpp +++ b/src/plugins/valgrind/memchecktool.cpp @@ -440,7 +440,7 @@ MemcheckTool::MemcheckTool(QObject *parent) menu->addAction(ActionManager::registerAction(action, "Memcheck.Remote"), Debugger::Constants::G_ANALYZER_REMOTE_TOOLS); QObject::connect(action, &QAction::triggered, this, [this, action] { - RunConfiguration *runConfig = startupRunConfiguration(); + auto runConfig = RunConfiguration::startupRunConfiguration(); if (!runConfig) { showCannotStartDialog(action->text()); return;