aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2019-10-01 17:49:33 +0200
committerhjk <hjk@qt.io>2019-10-02 14:46:27 +0000
commite8d5e6c8083e0a5f4fd52687b45b05e53c72266c (patch)
treeb1a9e65ff27b3e04a51134d360a78257e358afd0 /src
parent93ec10754f6186b0331b52cb9e96ad3f4341af91 (diff)
ProjectExplorer: Run Settings: Move environment settings further up
Adding the global aspects last, not first, more or less accidentally does the right thing. Fixes: QTCREATORBUG-22669 Change-Id: Iaf3eb4382974335471fff2f409ea4df7ef8f81b3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/projectexplorer/environmentaspectwidget.cpp2
-rw-r--r--src/plugins/projectexplorer/runconfiguration.cpp25
-rw-r--r--src/plugins/projectexplorer/runconfiguration.h2
-rw-r--r--src/plugins/projectexplorer/runsettingspropertiespage.cpp2
4 files changed, 20 insertions, 11 deletions
diff --git a/src/plugins/projectexplorer/environmentaspectwidget.cpp b/src/plugins/projectexplorer/environmentaspectwidget.cpp
index b50c861972..d846c1b303 100644
--- a/src/plugins/projectexplorer/environmentaspectwidget.cpp
+++ b/src/plugins/projectexplorer/environmentaspectwidget.cpp
@@ -49,7 +49,7 @@ EnvironmentAspectWidget::EnvironmentAspectWidget(EnvironmentAspect *aspect, QWid
setContentsMargins(0, 0, 0, 0);
auto topLayout = new QVBoxLayout(this);
- topLayout->setContentsMargins(0, 0, 0, 0);
+ topLayout->setContentsMargins(0, 0, 0, 25);
auto baseEnvironmentWidget = new QWidget;
auto baseLayout = new QHBoxLayout(baseEnvironmentWidget);
diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp
index c0a06f099a..549f98e230 100644
--- a/src/plugins/projectexplorer/runconfiguration.cpp
+++ b/src/plugins/projectexplorer/runconfiguration.cpp
@@ -206,9 +206,6 @@ RunConfiguration::RunConfiguration(Target *target, Core::Id id)
QCoreApplication::translate("ProjectExplorer", "The currently active run configuration's name."),
[this] { return displayName(); }, false);
- for (const AspectFactory &factory : theAspectFactories)
- m_aspects.append(factory(target));
-
m_commandLineGetter = [this] {
FilePath executable;
if (const auto executableAspect = aspect<ExecutableAspect>())
@@ -547,17 +544,29 @@ bool RunConfigurationFactory::canHandle(Target *target) const
return true;
}
+RunConfiguration *RunConfigurationFactory::create(Target *target) const
+{
+ QTC_ASSERT(m_creator, return nullptr);
+ RunConfiguration *rc = m_creator(target);
+ QTC_ASSERT(rc, return nullptr);
+
+ // Add the universal aspects.
+ for (const RunConfiguration::AspectFactory &factory : theAspectFactories)
+ rc->m_aspects.append(factory(target));
+
+ rc->acquaintAspects();
+ return rc;
+}
+
RunConfiguration *RunConfigurationCreationInfo::create(Target *target) const
{
QTC_ASSERT(factory->canHandle(target), return nullptr);
QTC_ASSERT(id == factory->runConfigurationBaseId(), return nullptr);
- QTC_ASSERT(factory->m_creator, return nullptr);
- RunConfiguration *rc = factory->m_creator(target);
+ RunConfiguration *rc = factory->create(target);
if (!rc)
return nullptr;
- rc->acquaintAspects();
rc->m_buildKey = buildKey;
rc->doAdditionalSetup(*this);
rc->setDisplayName(displayName);
@@ -571,9 +580,7 @@ RunConfiguration *RunConfigurationFactory::restore(Target *parent, const QVarian
if (factory->canHandle(parent)) {
const Core::Id id = idFromMap(map);
if (id.name().startsWith(factory->m_runConfigBaseId.name())) {
- QTC_ASSERT(factory->m_creator, continue);
- RunConfiguration *rc = factory->m_creator(parent);
- rc->acquaintAspects();
+ RunConfiguration *rc = factory->create(parent);
if (rc->fromMap(map))
return rc;
delete rc;
diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h
index d78aacaabc..78175e6156 100644
--- a/src/plugins/projectexplorer/runconfiguration.h
+++ b/src/plugins/projectexplorer/runconfiguration.h
@@ -190,6 +190,7 @@ private:
static void addAspectFactory(const AspectFactory &aspectFactory);
friend class RunConfigurationCreationInfo;
+ friend class RunConfigurationFactory;
QString m_buildKey;
bool m_isEnabled = false;
@@ -249,6 +250,7 @@ protected:
private:
bool canHandle(Target *target) const;
+ RunConfiguration *create(Target *target) const;
friend class RunConfigurationCreationInfo;
RunConfigurationCreator m_creator;
diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.cpp b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
index 8a934874a7..aae80ffb72 100644
--- a/src/plugins/projectexplorer/runsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
@@ -151,7 +151,7 @@ RunSettingsWidget::RunSettingsWidget(Target *target) :
this, &RunSettingsWidget::activeDeployConfigurationChanged);
// run part
- runWidget->setContentsMargins(0, 10, 0, 25);
+ runWidget->setContentsMargins(0, 10, 0, 0);
m_runLayout = new QVBoxLayout(runWidget);
m_runLayout->setContentsMargins(0, 0, 0, 0);
m_runLayout->setSpacing(5);