diff options
author | hjk <hjk121@nokiamail.com> | 2014-11-05 15:45:56 +0100 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2014-11-05 17:44:39 +0100 |
commit | b94a6a05376eb1c645f2493a28f4a9a71c551de1 (patch) | |
tree | 0104ca00309e7b0537a4006e5f3c40ed35851bc3 /src/plugins/projectexplorer/deployconfiguration.cpp | |
parent | d8edeb1e38705617e28b8436f54d4d6979e92062 (diff) |
Set up hierarchy of ProjectConfiguration macro expanders.
BuildConfiguration asks Target,
Deploy and Run ask either activeBuild, or Target.
Change-Id: I3845cfbd16de7b85268d83b5324865ff24482152
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Diffstat (limited to 'src/plugins/projectexplorer/deployconfiguration.cpp')
-rw-r--r-- | src/plugins/projectexplorer/deployconfiguration.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/plugins/projectexplorer/deployconfiguration.cpp b/src/plugins/projectexplorer/deployconfiguration.cpp index b777a77f9e..1c39a177b5 100644 --- a/src/plugins/projectexplorer/deployconfiguration.cpp +++ b/src/plugins/projectexplorer/deployconfiguration.cpp @@ -31,6 +31,7 @@ #include "deployconfiguration.h" #include "buildsteplist.h" +#include "buildconfiguration.h" #include "kitinformation.h" #include "project.h" #include "projectexplorer.h" @@ -53,7 +54,7 @@ DeployConfiguration::DeployConfiguration(Target *target, Core::Id id) : m_stepList->setDefaultDisplayName(tr("Deploy")); //: Default DeployConfiguration display name setDefaultDisplayName(tr("Deploy locally")); - macroExpander()->registerSubProvider([target] { return target->macroExpander(); }); + ctor(); } DeployConfiguration::DeployConfiguration(Target *target, DeployConfiguration *source) : @@ -64,7 +65,18 @@ DeployConfiguration::DeployConfiguration(Target *target, DeployConfiguration *so // Do not clone stepLists here, do that in the derived constructor instead // otherwise BuildStepFactories might reject to set up a BuildStep for us // since we are not yet the derived class! - macroExpander()->registerSubProvider([target] { return target->macroExpander(); }); + ctor(); +} + +void DeployConfiguration::ctor() +{ + Utils::MacroExpander *expander = macroExpander(); + expander->setDisplayName(tr("Deploy Settings")); + expander->setAccumulating(true); + expander->registerSubProvider([this]() -> Utils::MacroExpander * { + BuildConfiguration *bc = target()->activeBuildConfiguration(); + return bc ? bc->macroExpander() : target()->macroExpander(); + }); } DeployConfiguration::~DeployConfiguration() |