From f29a4440fe44b858a4c52ada3480303e90faebb6 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 12 Dec 2019 14:40:46 +0100 Subject: [PATCH] Qnx: Add QnxRunConfiguration::doAdditionalSetup() Same principle as in b526d789cf. Change-Id: I79b69f709ab401b46d2edef3b5a6b0672e30eaff Reviewed-by: hjk --- src/plugins/qnx/qnxrunconfiguration.cpp | 40 +++++++++++++++---------- src/plugins/qnx/qnxrunconfiguration.h | 3 ++ 2 files changed, 27 insertions(+), 16 deletions(-) diff --git a/src/plugins/qnx/qnxrunconfiguration.cpp b/src/plugins/qnx/qnxrunconfiguration.cpp index d9b35222077..733f80fa2d1 100644 --- a/src/plugins/qnx/qnxrunconfiguration.cpp +++ b/src/plugins/qnx/qnxrunconfiguration.cpp @@ -68,22 +68,14 @@ QnxRunConfiguration::QnxRunConfiguration(Target *target, Core::Id id) libAspect->setLabelText(tr("Path to Qt libraries on device")); libAspect->setDisplayStyle(BaseStringAspect::LineEditDisplay); - auto updateTargetInformation = [this, target, exeAspect, symbolsAspect] { - - const BuildTargetInfo bti = buildTargetInfo(); - const FilePath localExecutable = bti.targetFilePath; - const DeployableFile depFile = target->deploymentData().deployableForLocalFile(localExecutable); - - exeAspect->setExecutable(FilePath::fromString(depFile.remoteFilePath())); - symbolsAspect->setFilePath(localExecutable); - - emit enabledChanged(); - }; - - connect(target, &Target::deploymentDataChanged, this, updateTargetInformation); - connect(target, &Target::applicationTargetsChanged, this, updateTargetInformation); - connect(target->project(), &Project::parsingFinished, this, updateTargetInformation); - connect(target, &Target::kitChanged, this, updateTargetInformation); + connect(target, &Target::deploymentDataChanged, + this, &QnxRunConfiguration::updateTargetInformation); + connect(target, &Target::applicationTargetsChanged, + this, &QnxRunConfiguration::updateTargetInformation); + connect(target->project(), &Project::parsingFinished, + this, &QnxRunConfiguration::updateTargetInformation); + connect(target, &Target::kitChanged, + this, &QnxRunConfiguration::updateTargetInformation); } Runnable QnxRunConfiguration::runnable() const @@ -100,6 +92,22 @@ Runnable QnxRunConfiguration::runnable() const return r; } +void QnxRunConfiguration::doAdditionalSetup(const RunConfigurationCreationInfo &) +{ + updateTargetInformation(); +} + +void QnxRunConfiguration::updateTargetInformation() +{ + const BuildTargetInfo bti = buildTargetInfo(); + const FilePath localExecutable = bti.targetFilePath; + const DeployableFile depFile = target()->deploymentData() + .deployableForLocalFile(localExecutable); + aspect()->setExecutable(FilePath::fromString(depFile.remoteFilePath())); + aspect()->setFilePath(localExecutable); + emit enabledChanged(); +} + // QnxRunConfigurationFactory QnxRunConfigurationFactory::QnxRunConfigurationFactory() diff --git a/src/plugins/qnx/qnxrunconfiguration.h b/src/plugins/qnx/qnxrunconfiguration.h index 75ec72a66c0..eaa0980d50c 100644 --- a/src/plugins/qnx/qnxrunconfiguration.h +++ b/src/plugins/qnx/qnxrunconfiguration.h @@ -48,6 +48,9 @@ public: private: ProjectExplorer::Runnable runnable() const override; + void doAdditionalSetup(const ProjectExplorer::RunConfigurationCreationInfo &) override; + + void updateTargetInformation(); }; class QnxRunConfigurationFactory final : public ProjectExplorer::RunConfigurationFactory