From 4e3bc88eefd45ef2041ede25b10ed3616ba4ea81 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 11 Dec 2019 13:09:54 +0100 Subject: [PATCH] Nim: Use generic RunConfiguration::update setup Change-Id: I531357a05d01a29ddb9a5d33be1bfac9ca0cc9dd Reviewed-by: Christian Kandeler --- .../nim/project/nimblerunconfiguration.cpp | 21 +++++++--------- .../nim/project/nimblerunconfiguration.h | 2 -- .../nim/project/nimrunconfiguration.cpp | 24 +++++++++---------- src/plugins/nim/project/nimrunconfiguration.h | 3 --- 4 files changed, 20 insertions(+), 30 deletions(-) diff --git a/src/plugins/nim/project/nimblerunconfiguration.cpp b/src/plugins/nim/project/nimblerunconfiguration.cpp index d3bed6ce2e9..f6b0e3d573f 100644 --- a/src/plugins/nim/project/nimblerunconfiguration.cpp +++ b/src/plugins/nim/project/nimblerunconfiguration.cpp @@ -49,19 +49,16 @@ NimbleRunConfiguration::NimbleRunConfiguration(ProjectExplorer::Target *target, addAspect(); addAspect(); - connect(target, &Target::buildSystemUpdated, - this, &NimbleRunConfiguration::updateTargetInformation); + setUpdater([this] { + BuildTargetInfo bti = buildTargetInfo(); + setDisplayName(bti.displayName); + setDefaultDisplayName(bti.displayName); + aspect()->setExecutable(bti.targetFilePath); + aspect()->setDefaultWorkingDirectory(bti.workingDirectory); + }); - updateTargetInformation(); -} - -void NimbleRunConfiguration::updateTargetInformation() -{ - BuildTargetInfo bti = buildTargetInfo(); - setDisplayName(bti.displayName); - setDefaultDisplayName(bti.displayName); - aspect()->setExecutable(bti.targetFilePath); - aspect()->setDefaultWorkingDirectory(bti.workingDirectory); + connect(target, &Target::buildSystemUpdated, this, &RunConfiguration::update); + update(); } bool NimbleRunConfiguration::isBuildTargetValid() const diff --git a/src/plugins/nim/project/nimblerunconfiguration.h b/src/plugins/nim/project/nimblerunconfiguration.h index 1daa5e22845..0929828b49e 100644 --- a/src/plugins/nim/project/nimblerunconfiguration.h +++ b/src/plugins/nim/project/nimblerunconfiguration.h @@ -39,8 +39,6 @@ public: QString disabledReason() const override; private: - void updateTargetInformation(); - bool isBuildTargetValid() const; }; diff --git a/src/plugins/nim/project/nimrunconfiguration.cpp b/src/plugins/nim/project/nimrunconfiguration.cpp index d74e8183d84..e803dd3a372 100644 --- a/src/plugins/nim/project/nimrunconfiguration.cpp +++ b/src/plugins/nim/project/nimrunconfiguration.cpp @@ -53,20 +53,18 @@ NimRunConfiguration::NimRunConfiguration(Target *target, Core::Id id) setDisplayName(tr("Current Build Target")); setDefaultDisplayName(tr("Current Build Target")); - // Connect target signals - connect(target, &Target::buildSystemUpdated, this, &NimRunConfiguration::updateConfiguration); - updateConfiguration(); -} + setUpdater([this] { + auto buildConfiguration = qobject_cast(activeBuildConfiguration()); + QTC_ASSERT(buildConfiguration, return); + const QFileInfo outFileInfo = buildConfiguration->outFilePath().toFileInfo(); + aspect()->setExecutable(FilePath::fromString(outFileInfo.absoluteFilePath())); + const QString workingDirectory = outFileInfo.absoluteDir().absolutePath(); + aspect()->setDefaultWorkingDirectory(FilePath::fromString(workingDirectory)); + }); -void NimRunConfiguration::updateConfiguration() -{ - auto buildConfiguration = qobject_cast(activeBuildConfiguration()); - if (!buildConfiguration) - return; - const QFileInfo outFileInfo = buildConfiguration->outFilePath().toFileInfo(); - aspect()->setExecutable(FilePath::fromString(outFileInfo.absoluteFilePath())); - const QString workingDirectory = outFileInfo.absoluteDir().absolutePath(); - aspect()->setDefaultWorkingDirectory(FilePath::fromString(workingDirectory)); + // Connect target signals + connect(target, &Target::buildSystemUpdated, this, &RunConfiguration::update); + update(); } // NimRunConfigurationFactory diff --git a/src/plugins/nim/project/nimrunconfiguration.h b/src/plugins/nim/project/nimrunconfiguration.h index 6b3acc6aaed..df3968c44c6 100644 --- a/src/plugins/nim/project/nimrunconfiguration.h +++ b/src/plugins/nim/project/nimrunconfiguration.h @@ -35,9 +35,6 @@ class NimRunConfiguration : public ProjectExplorer::RunConfiguration public: NimRunConfiguration(ProjectExplorer::Target *target, Core::Id id); - -private: - void updateConfiguration(); }; class NimRunConfigurationFactory : public ProjectExplorer::FixedRunConfigurationFactory