aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/deployconfiguration.cpp
diff options
context:
space:
mode:
authorhjk <hjk121@nokiamail.com>2014-11-05 15:45:56 +0100
committerhjk <hjk121@nokiamail.com>2014-11-05 17:44:39 +0100
commitb94a6a05376eb1c645f2493a28f4a9a71c551de1 (patch)
tree0104ca00309e7b0537a4006e5f3c40ed35851bc3 /src/plugins/projectexplorer/deployconfiguration.cpp
parentd8edeb1e38705617e28b8436f54d4d6979e92062 (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.cpp16
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()