From 774d2063d0d26c7586caf7bf543edb84071c50d1 Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 24 May 2019 15:16:50 +0200 Subject: [PATCH] ProjectExplorer: Use the new way for dependent aspects ... for WorkingDirectory aspects. Change-Id: Idf64f1daeb74a70637bb983db1b45f0132cfc299 Reviewed-by: Christian Kandeler --- src/plugins/baremetal/baremetalcustomrunconfiguration.cpp | 2 +- src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp | 2 +- src/plugins/nim/project/nimrunconfiguration.cpp | 5 ++--- .../projectexplorer/customexecutablerunconfiguration.cpp | 5 ++--- src/plugins/projectexplorer/runconfigurationaspects.cpp | 8 ++++++-- src/plugins/projectexplorer/runconfigurationaspects.h | 5 +++-- src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp | 2 +- .../qmakeprojectmanager/desktopqmakerunconfiguration.cpp | 2 +- 8 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/plugins/baremetal/baremetalcustomrunconfiguration.cpp b/src/plugins/baremetal/baremetalcustomrunconfiguration.cpp index a8323e737d2..db4aac76223 100644 --- a/src/plugins/baremetal/baremetalcustomrunconfiguration.cpp +++ b/src/plugins/baremetal/baremetalcustomrunconfiguration.cpp @@ -50,7 +50,7 @@ BareMetalCustomRunConfiguration::BareMetalCustomRunConfiguration(Target *target, exeAspect->setExpectedKind(PathChooser::Any); addAspect(); - addAspect(nullptr); + addAspect(); setDefaultDisplayName(RunConfigurationFactory::decoratedTargetName(tr("Custom Executable"), target)); } diff --git a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp index 52a7d83f685..30514b70a57 100644 --- a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp @@ -60,7 +60,7 @@ CMakeRunConfiguration::CMakeRunConfiguration(Target *target, Core::Id id) addAspect(); addAspect(); - addAspect(envAspect); + addAspect(); addAspect(); connect(target->project(), &Project::parsingFinished, diff --git a/src/plugins/nim/project/nimrunconfiguration.cpp b/src/plugins/nim/project/nimrunconfiguration.cpp index 8bfd0370885..8ccfb83aab9 100644 --- a/src/plugins/nim/project/nimrunconfiguration.cpp +++ b/src/plugins/nim/project/nimrunconfiguration.cpp @@ -45,11 +45,10 @@ namespace Nim { NimRunConfiguration::NimRunConfiguration(Target *target, Core::Id id) : RunConfiguration(target, id) { - auto envAspect = addAspect(target); - + addAspect(target); addAspect(); addAspect(); - addAspect(envAspect); + addAspect(); addAspect(); setDisplayName(tr("Current Build Target")); diff --git a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp index bcf647d11a0..562b7f65605 100644 --- a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp +++ b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp @@ -94,8 +94,7 @@ private: CustomExecutableDialog::CustomExecutableDialog(RunConfiguration *rc) : QDialog(Core::ICore::dialogParent()), - m_rc(rc), - m_workingDirectory(rc->aspect()) + m_rc(rc) { auto vbox = new QVBoxLayout(this); vbox->addWidget(new QLabel(tr("Could not find the executable, please specify one."))); @@ -194,7 +193,7 @@ CustomExecutableRunConfiguration::CustomExecutableRunConfiguration(Target *targe exeAspect->setEnvironment(envAspect->environment()); addAspect(); - addAspect(envAspect); + addAspect(); addAspect(); connect(envAspect, &EnvironmentAspect::environmentChanged, diff --git a/src/plugins/projectexplorer/runconfigurationaspects.cpp b/src/plugins/projectexplorer/runconfigurationaspects.cpp index 74428b4e086..134589fe052 100644 --- a/src/plugins/projectexplorer/runconfigurationaspects.cpp +++ b/src/plugins/projectexplorer/runconfigurationaspects.cpp @@ -131,8 +131,7 @@ bool TerminalAspect::isUserSet() const \class ProjectExplorer::WorkingDirectoryAspect */ -WorkingDirectoryAspect::WorkingDirectoryAspect(EnvironmentAspect *envAspect) - : m_envAspect(envAspect) +WorkingDirectoryAspect::WorkingDirectoryAspect() { setDisplayName(tr("Working Directory")); setId("WorkingDirectoryAspect"); @@ -174,6 +173,11 @@ void WorkingDirectoryAspect::addToConfigurationLayout(QFormLayout *layout) layout->addRow(tr("Working directory:"), hbox); } +void WorkingDirectoryAspect::acquaintSiblings(const ProjectConfigurationAspects &siblings) +{ + m_envAspect = siblings.aspect(); +} + QString WorkingDirectoryAspect::keyForDefaultWd() const { return settingsKey() + ".default"; diff --git a/src/plugins/projectexplorer/runconfigurationaspects.h b/src/plugins/projectexplorer/runconfigurationaspects.h index 659138710d8..fb8de434ef9 100644 --- a/src/plugins/projectexplorer/runconfigurationaspects.h +++ b/src/plugins/projectexplorer/runconfigurationaspects.h @@ -67,9 +67,10 @@ class PROJECTEXPLORER_EXPORT WorkingDirectoryAspect : public ProjectConfiguratio Q_OBJECT public: - explicit WorkingDirectoryAspect(EnvironmentAspect *envAspect = nullptr); + WorkingDirectoryAspect(); void addToConfigurationLayout(QFormLayout *layout) override; + void acquaintSiblings(const ProjectConfigurationAspects &) override; Utils::FileName workingDirectory(const Utils::MacroExpander *expander) const; Utils::FileName defaultWorkingDirectory() const; @@ -84,7 +85,7 @@ private: void resetPath(); QString keyForDefaultWd() const; - EnvironmentAspect * const m_envAspect = nullptr; + EnvironmentAspect *m_envAspect = nullptr; Utils::FileName m_workingDirectory; Utils::FileName m_defaultWorkingDirectory; QPointer m_chooser; diff --git a/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp index 042d90c6239..a23ebeeee43 100644 --- a/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp +++ b/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp @@ -66,7 +66,7 @@ QbsRunConfiguration::QbsRunConfiguration(Target *target, Core::Id id) addAspect(); addAspect(); - addAspect(envAspect); + addAspect(); addAspect(); setOutputFormatter(); diff --git a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp index d5f6eaecaa9..8c9c7b425c1 100644 --- a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp +++ b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp @@ -71,7 +71,7 @@ DesktopQmakeRunConfiguration::DesktopQmakeRunConfiguration(Target *target, Core: addAspect(); addAspect(); - addAspect(envAspect); + addAspect(); addAspect(); setOutputFormatter();