diff options
author | hjk <hjk@qt.io> | 2019-11-21 16:32:50 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2019-11-29 08:39:07 +0000 |
commit | c8137bdcf9c089f7fa1b22ae33fd5fdf351cad18 (patch) | |
tree | d0f1ca6b95c50173e5cf1635447d5bd4511c032d /src | |
parent | ea88ded3526ab695a85a714670cb8e79d058e030 (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.cpp | 9 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerplugin.cpp | 8 | ||||
-rw-r--r-- | src/plugins/perfprofiler/perfloaddialog.cpp | 6 | ||||
-rw-r--r-- | src/plugins/perfprofiler/perfprofilertool.cpp | 10 | ||||
-rw-r--r-- | src/plugins/perfprofiler/perftracepointdialog.cpp | 18 | ||||
-rw-r--r-- | src/plugins/projectexplorer/kitchooser.cpp | 24 | ||||
-rw-r--r-- | src/plugins/projectexplorer/projectexplorer.cpp | 7 | ||||
-rw-r--r-- | src/plugins/projectexplorer/runconfiguration.cpp | 14 | ||||
-rw-r--r-- | src/plugins/projectexplorer/runconfiguration.h | 2 | ||||
-rw-r--r-- | src/plugins/projectexplorer/session.cpp | 12 | ||||
-rw-r--r-- | src/plugins/projectexplorer/session.h | 2 | ||||
-rw-r--r-- | src/plugins/projectexplorer/target.cpp | 4 | ||||
-rw-r--r-- | src/plugins/qmlprofiler/qmlprofilertool.cpp | 2 | ||||
-rw-r--r-- | src/plugins/qnx/qnxdebugsupport.cpp | 3 | ||||
-rw-r--r-- | src/plugins/valgrind/callgrindtool.cpp | 2 | ||||
-rw-r--r-- | src/plugins/valgrind/memchecktool.cpp | 2 |
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; |