aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2020-01-20 14:42:34 +0100
committerhjk <hjk@qt.io>2020-01-21 13:03:00 +0000
commitd32f1cd2ea1c428e998010b955a5291e346ef65e (patch)
tree4f793ee113ce46169441dea3205c14eae08bc041
parent57e3a0353860c56546fbb3475f6fd1adec65cc46 (diff)
ProjectExplorer: Trigger full run config update when parsing finished
The update is meant to be cheap, and this makes it easier to reason about what state the ui is meant to be in after a parser finished. Also, make on in-object connection a normal function call. Saves cycles and bytes and also makes order of execution defined. Change-Id: I9a411cd2a1ed1e0cc677bf45a7a5ea367efd7d0b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r--src/plugins/genericprojectmanager/genericbuildconfiguration.h2
-rw-r--r--src/plugins/projectexplorer/runconfiguration.cpp10
2 files changed, 5 insertions, 7 deletions
diff --git a/src/plugins/genericprojectmanager/genericbuildconfiguration.h b/src/plugins/genericprojectmanager/genericbuildconfiguration.h
index 32200199bf2..0c4d1fe52c4 100644
--- a/src/plugins/genericprojectmanager/genericbuildconfiguration.h
+++ b/src/plugins/genericprojectmanager/genericbuildconfiguration.h
@@ -35,7 +35,7 @@ class GenericBuildConfiguration : public ProjectExplorer::BuildConfiguration
Q_OBJECT
friend class ProjectExplorer::BuildConfigurationFactory;
- GenericBuildConfiguration(ProjectExplorer::Target *parent, Core::Id id);
+ GenericBuildConfiguration(ProjectExplorer::Target *target, Core::Id id);
void addToEnvironment(Utils::Environment &env) const final;
};
diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp
index 724995f8450..5eaf0b19567 100644
--- a/src/plugins/projectexplorer/runconfiguration.cpp
+++ b/src/plugins/projectexplorer/runconfiguration.cpp
@@ -165,12 +165,7 @@ RunConfiguration::RunConfiguration(Target *target, Core::Id id)
: ProjectConfiguration(target, id)
{
QTC_CHECK(target && target == this->target());
- connect(target, &Target::parsingFinished, this, &RunConfiguration::enabledChanged);
-
- connect(this, &RunConfiguration::enabledChanged, this, [this] {
- if (isActive() && project() == SessionManager::startupProject())
- emit ProjectExplorerPlugin::instance()->updateRunActions();
- });
+ connect(target, &Target::parsingFinished, this, &RunConfiguration::update);
Utils::MacroExpander *expander = macroExpander();
expander->setDisplayName(tr("Run Settings"));
@@ -309,6 +304,9 @@ void RunConfiguration::update()
m_updater();
emit enabledChanged();
+
+ if (isActive() && project() == SessionManager::startupProject())
+ emit ProjectExplorerPlugin::instance()->updateRunActions();
}
BuildTargetInfo RunConfiguration::buildTargetInfo() const