aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2019-11-21 16:32:50 +0100
committerhjk <hjk@qt.io>2019-11-29 08:39:07 +0000
commitc8137bdcf9c089f7fa1b22ae33fd5fdf351cad18 (patch)
treed0f1ca6b95c50173e5cf1635447d5bd4511c032d /src
parentea88ded3526ab695a85a714670cb8e79d058e030 (diff)
ProjectExplorer: Consolidate some Session::active* accesses
Change-Id: I47b0f6c2c60b2f7c86b6ffd1ad3df393d1321c8b Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/clangcodemodel/clangcodemodelplugin.cpp9
-rw-r--r--src/plugins/debugger/debuggerplugin.cpp8
-rw-r--r--src/plugins/perfprofiler/perfloaddialog.cpp6
-rw-r--r--src/plugins/perfprofiler/perfprofilertool.cpp10
-rw-r--r--src/plugins/perfprofiler/perftracepointdialog.cpp18
-rw-r--r--src/plugins/projectexplorer/kitchooser.cpp24
-rw-r--r--src/plugins/projectexplorer/projectexplorer.cpp7
-rw-r--r--src/plugins/projectexplorer/runconfiguration.cpp14
-rw-r--r--src/plugins/projectexplorer/runconfiguration.h2
-rw-r--r--src/plugins/projectexplorer/session.cpp12
-rw-r--r--src/plugins/projectexplorer/session.h2
-rw-r--r--src/plugins/projectexplorer/target.cpp4
-rw-r--r--src/plugins/qmlprofiler/qmlprofilertool.cpp2
-rw-r--r--src/plugins/qnx/qnxdebugsupport.cpp3
-rw-r--r--src/plugins/valgrind/callgrindtool.cpp2
-rw-r--r--src/plugins/valgrind/memchecktool.cpp2
16 files changed, 56 insertions, 69 deletions
diff --git a/src/plugins/clangcodemodel/clangcodemodelplugin.cpp b/src/plugins/clangcodemodel/clangcodemodelplugin.cpp
index 51aaa6ba7a..58a6f23877 100644
--- a/src/plugins/clangcodemodel/clangcodemodelplugin.cpp
+++ b/src/plugins/clangcodemodel/clangcodemodelplugin.cpp
@@ -65,16 +65,17 @@ static void addProjectPanelWidget()
ProjectExplorer::ProjectPanelFactory::registerFactory(panelFactory);
}
-void ClangCodeModelPlugin::generateCompilationDB() {
+void ClangCodeModelPlugin::generateCompilationDB()
+{
using namespace CppTools;
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
- if (!project || !project->activeTarget())
+ ProjectExplorer::Target *target = ProjectExplorer::SessionManager::startupTarget();
+ if (!target)
return;
QFuture<Utils::GenerateCompilationDbResult> task
= QtConcurrent::run(&Utils::generateCompilationDB,
- CppModelManager::instance()->projectInfo(project));
+ CppModelManager::instance()->projectInfo(target->project()));
Core::ProgressManager::addTask(task, tr("Generating Compilation DB"), "generate compilation db");
m_generatorWatcher.setFuture(task);
}
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 5058ef0cbc..bbea513aea 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -1433,7 +1433,7 @@ void DebuggerPluginPrivate::updatePresetState()
return;
Project *startupProject = SessionManager::startupProject();
- RunConfiguration *startupRunConfig = RunConfiguration::startupRunConfiguration();
+ RunConfiguration *startupRunConfig = SessionManager::startupRunConfiguration();
DebuggerEngine *currentEngine = EngineManager::currentEngine();
QString whyNot;
@@ -2199,7 +2199,7 @@ static bool buildTypeAccepted(QFlags<ToolMode> toolMode, BuildConfiguration::Bui
static BuildConfiguration::BuildType startupBuildType()
{
BuildConfiguration::BuildType buildType = BuildConfiguration::Unknown;
- if (RunConfiguration *runConfig = RunConfiguration::startupRunConfiguration()) {
+ if (RunConfiguration *runConfig = SessionManager::startupRunConfiguration()) {
if (const BuildConfiguration *buildConfig = runConfig->target()->activeBuildConfiguration())
buildType = buildConfig->buildType();
}
@@ -2375,9 +2375,7 @@ void DebuggerUnitTests::testStateMachine()
ExecuteOnDestruction guard([] { EditorManager::closeAllEditors(false); });
- Target *t = SessionManager::startupProject()->activeTarget();
- QVERIFY(t);
- RunConfiguration *rc = t->activeRunConfiguration();
+ RunConfiguration *rc = SessionManager::startupRunConfiguration();
QVERIFY(rc);
auto runControl = new RunControl(ProjectExplorer::Constants::DEBUG_RUN_MODE);
diff --git a/src/plugins/perfprofiler/perfloaddialog.cpp b/src/plugins/perfprofiler/perfloaddialog.cpp
index b0602ed725..964f9422ca 100644
--- a/src/plugins/perfprofiler/perfloaddialog.cpp
+++ b/src/plugins/perfprofiler/perfloaddialog.cpp
@@ -96,11 +96,7 @@ void PerfLoadDialog::on_browseExecutableDirButton_pressed()
void PerfLoadDialog::chooseDefaults()
{
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
- if (!project)
- return;
-
- ProjectExplorer::Target *target = project->activeTarget();
+ ProjectExplorer::Target *target = ProjectExplorer::SessionManager::startupTarget();
if (!target)
return;
diff --git a/src/plugins/perfprofiler/perfprofilertool.cpp b/src/plugins/perfprofiler/perfprofilertool.cpp
index 3cb39f968e..1eb34495f2 100644
--- a/src/plugins/perfprofiler/perfprofilertool.cpp
+++ b/src/plugins/perfprofiler/perfprofilertool.cpp
@@ -231,12 +231,10 @@ void PerfProfilerTool::createViews()
connect(recordMenu, &QMenu::aboutToShow, recordMenu, [recordMenu] {
recordMenu->hide();
PerfSettings *settings = nullptr;
- Target *target = nullptr;
- if (auto project = ProjectExplorer::SessionManager::startupProject()) {
- if ((target = project->activeTarget())) {
- if (auto runConfig = target->activeRunConfiguration())
- settings = runConfig->currentSettings<PerfSettings>(Constants::PerfSettingsId);
- }
+ Target *target = SessionManager::startupTarget();
+ if (target) {
+ if (auto runConfig = target->activeRunConfiguration())
+ settings = runConfig->currentSettings<PerfSettings>(Constants::PerfSettingsId);
}
PerfConfigWidget *widget = new PerfConfigWidget(
diff --git a/src/plugins/perfprofiler/perftracepointdialog.cpp b/src/plugins/perfprofiler/perftracepointdialog.cpp
index 2dd6e35162..c6ca317d91 100644
--- a/src/plugins/perfprofiler/perftracepointdialog.cpp
+++ b/src/plugins/perfprofiler/perftracepointdialog.cpp
@@ -51,16 +51,14 @@ PerfTracePointDialog::PerfTracePointDialog() :
{
m_ui->setupUi(this);
- if (Project *currentProject = SessionManager::startupProject()) {
- if (const Target *target = currentProject->activeTarget()) {
- const Kit *kit = target->kit();
- QTC_ASSERT(kit, return);
-
- m_device = DeviceKitAspect::device(kit);
- if (!m_device) {
- m_ui->textEdit->setPlainText(tr("Error: No device available for active target."));
- return;
- }
+ if (const Target *target = SessionManager::startupTarget()) {
+ const Kit *kit = target->kit();
+ QTC_ASSERT(kit, return);
+
+ m_device = DeviceKitAspect::device(kit);
+ if (!m_device) {
+ m_ui->textEdit->setPlainText(tr("Error: No device available for active target."));
+ return;
}
}
diff --git a/src/plugins/projectexplorer/kitchooser.cpp b/src/plugins/projectexplorer/kitchooser.cpp
index c3a0204fba..58f6ff62fb 100644
--- a/src/plugins/projectexplorer/kitchooser.cpp
+++ b/src/plugins/projectexplorer/kitchooser.cpp
@@ -112,20 +112,18 @@ void KitChooser::populate()
const Id lastKit = Id::fromSetting(ICore::settings()->value(lastKitKey));
bool didActivate = false;
- if (Project *project = SessionManager::startupProject()) {
- if (Target *target = project->activeTarget()) {
- Kit *kit = target->kit();
- if (m_kitPredicate(kit)) {
- QString display = tr("Kit of Active Project: %1").arg(kitText(kit));
- m_chooser->addItem(display, kit->id().toSetting());
- m_chooser->setItemData(0, kitToolTip(kit), Qt::ToolTipRole);
- if (!lastKit.isValid()) {
- m_chooser->setCurrentIndex(0);
- didActivate = true;
- }
- m_chooser->insertSeparator(1);
- m_hasStartupKit = true;
+ if (Target *target = SessionManager::startupTarget()) {
+ Kit *kit = target->kit();
+ if (m_kitPredicate(kit)) {
+ QString display = tr("Kit of Active Project: %1").arg(kitText(kit));
+ m_chooser->addItem(display, kit->id().toSetting());
+ m_chooser->setItemData(0, kitToolTip(kit), Qt::ToolTipRole);
+ if (!lastKit.isValid()) {
+ m_chooser->setCurrentIndex(0);
+ didActivate = true;
}
+ m_chooser->insertSeparator(1);
+ m_hasStartupKit = true;
}
}
diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index 6a186b380c..444bc99f0a 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -2962,12 +2962,13 @@ void ProjectExplorerPluginPrivate::activeRunConfigurationChanged()
void ProjectExplorerPluginPrivate::activeBuildConfigurationChanged()
{
static QPointer<BuildConfiguration> previousBuildConfiguration = nullptr;
+
BuildConfiguration *bc = nullptr;
- Project *startupProject = SessionManager::startupProject();
- if (startupProject && startupProject->activeTarget())
- bc = startupProject->activeTarget()->activeBuildConfiguration();
+ if (Target *target = SessionManager::startupTarget())
+ bc = target->activeBuildConfiguration();
if (bc == previousBuildConfiguration)
return;
+
updateActions();
emit m_instance->updateRunActions();
}
diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp
index e346208fe6..175eb0c941 100644
--- a/src/plugins/projectexplorer/runconfiguration.cpp
+++ b/src/plugins/projectexplorer/runconfiguration.cpp
@@ -265,20 +265,6 @@ void RunConfiguration::addAspectFactory(const AspectFactory &aspectFactory)
theAspectFactories.push_back(aspectFactory);
}
-/*!
- * 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;
-}
-
QMap<Core::Id, QVariantMap> RunConfiguration::aspectData() const
{
QMap<Core::Id, QVariantMap> data;
diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h
index c884a21f8f..5d0e1c48f7 100644
--- a/src/plugins/projectexplorer/runconfiguration.h
+++ b/src/plugins/projectexplorer/runconfiguration.h
@@ -155,8 +155,6 @@ public:
// The BuildTargetInfo corresponding to the buildKey.
BuildTargetInfo buildTargetInfo() const;
- static RunConfiguration *startupRunConfiguration();
-
template <class T = ISettingsAspect> T *currentSettings(Core::Id id) const
{
if (auto a = qobject_cast<GlobalOrProjectAspect *>(aspect(id)))
diff --git a/src/plugins/projectexplorer/session.cpp b/src/plugins/projectexplorer/session.cpp
index 858ceb815c..4897ed660a 100644
--- a/src/plugins/projectexplorer/session.cpp
+++ b/src/plugins/projectexplorer/session.cpp
@@ -392,6 +392,18 @@ BuildSystem *SessionManager::startupBuildSystem()
return t ? t->buildSystem() : nullptr;
}
+/*!
+ * Returns the RunConfiguration of the currently active target
+ * of the startup project, if such exists, or \c nullptr otherwise.
+ */
+
+
+RunConfiguration *SessionManager::startupRunConfiguration()
+{
+ Target *t = startupTarget();
+ return t ? t->activeRunConfiguration() : nullptr;
+}
+
void SessionManager::addProject(Project *pro)
{
QTC_ASSERT(pro, return);
diff --git a/src/plugins/projectexplorer/session.h b/src/plugins/projectexplorer/session.h
index dfc403bc42..6cefc006a5 100644
--- a/src/plugins/projectexplorer/session.h
+++ b/src/plugins/projectexplorer/session.h
@@ -44,6 +44,7 @@ class Target;
class BuildConfiguration;
class BuildSystem;
class DeployConfiguration;
+class RunConfiguration;
enum class SetActive { Cascade, NoCascade };
@@ -100,6 +101,7 @@ public:
static Project *startupProject();
static Target *startupTarget();
static BuildSystem *startupBuildSystem();
+ static RunConfiguration *startupRunConfiguration();
static const QList<Project *> projects();
static bool hasProjects();
diff --git a/src/plugins/projectexplorer/target.cpp b/src/plugins/projectexplorer/target.cpp
index dd9d98fd82..91a9b600ac 100644
--- a/src/plugins/projectexplorer/target.cpp
+++ b/src/plugins/projectexplorer/target.cpp
@@ -139,10 +139,8 @@ Target::Target(Project *project, Kit *k, _constructor_tag) :
});
connect(this, &Target::parsingFinished, this, [this, project](bool success) {
- if (success && project == SessionManager::startupProject()
- && this == project->activeTarget()) {
+ if (success && this == SessionManager::startupTarget())
updateDefaultRunConfigurations();
- }
// For testing.
emit SessionManager::instance()->projectFinishedParsing(project);
project->anyParsingFinished(this, success);
diff --git a/src/plugins/qmlprofiler/qmlprofilertool.cpp b/src/plugins/qmlprofiler/qmlprofilertool.cpp
index 8348acb6de..c14d60d384 100644
--- a/src/plugins/qmlprofiler/qmlprofilertool.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilertool.cpp
@@ -558,7 +558,7 @@ ProjectExplorer::RunControl *QmlProfilerTool::attachToWaitingApplication()
d->m_viewContainer->perspective()->select();
auto runControl = new RunControl(ProjectExplorer::Constants::QML_PROFILER_RUN_MODE);
- runControl->setRunConfiguration(RunConfiguration::startupRunConfiguration());
+ runControl->setRunConfiguration(SessionManager::startupRunConfiguration());
auto profiler = new QmlProfilerRunner(runControl);
profiler->setServerUrl(serverUrl);
diff --git a/src/plugins/qnx/qnxdebugsupport.cpp b/src/plugins/qnx/qnxdebugsupport.cpp
index 49eb59ac9a..831e1debe3 100644
--- a/src/plugins/qnx/qnxdebugsupport.cpp
+++ b/src/plugins/qnx/qnxdebugsupport.cpp
@@ -46,6 +46,7 @@
#include <projectexplorer/kitinformation.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/runconfigurationaspects.h>
+#include <projectexplorer/session.h>
#include <projectexplorer/target.h>
#include <projectexplorer/toolchain.h>
@@ -238,7 +239,7 @@ void QnxAttachDebugSupport::showProcessesDialog()
return;
// FIXME: That should be somehow related to the selected kit.
- auto startRunConfig = RunConfiguration::startupRunConfiguration();
+ auto startRunConfig = SessionManager::startupRunConfiguration();
auto runConfig = qobject_cast<QnxRunConfiguration *>(startRunConfig);
if (!runConfig)
return;
diff --git a/src/plugins/valgrind/callgrindtool.cpp b/src/plugins/valgrind/callgrindtool.cpp
index 0d8cc15109..96476929e5 100644
--- a/src/plugins/valgrind/callgrindtool.cpp
+++ b/src/plugins/valgrind/callgrindtool.cpp
@@ -276,7 +276,7 @@ CallgrindToolPrivate::CallgrindToolPrivate()
menu->addAction(ActionManager::registerAction(action, CallgrindRemoteActionId),
Debugger::Constants::G_ANALYZER_REMOTE_TOOLS);
QObject::connect(action, &QAction::triggered, this, [this, action] {
- auto runConfig = RunConfiguration::startupRunConfiguration();
+ auto runConfig = SessionManager::startupRunConfiguration();
if (!runConfig) {
showCannotStartDialog(action->text());
return;
diff --git a/src/plugins/valgrind/memchecktool.cpp b/src/plugins/valgrind/memchecktool.cpp
index 4a43f5771c..713d54187f 100644
--- a/src/plugins/valgrind/memchecktool.cpp
+++ b/src/plugins/valgrind/memchecktool.cpp
@@ -676,7 +676,7 @@ MemcheckToolPrivate::MemcheckToolPrivate()
menu->addAction(ActionManager::registerAction(action, "Memcheck.Remote"),
Debugger::Constants::G_ANALYZER_REMOTE_TOOLS);
QObject::connect(action, &QAction::triggered, this, [this, action] {
- auto runConfig = RunConfiguration::startupRunConfiguration();
+ RunConfiguration *runConfig = SessionManager::startupRunConfiguration();
if (!runConfig) {
showCannotStartDialog(action->text());
return;