From e03af19edce11ca2be89909308c85c83f672165c Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 13 Apr 2021 10:54:26 +0200 Subject: [PATCH] RemoteLinux: Use new Run:setRunnableModifier Change-Id: If5f509530f187dde6c6f5f8dc8b03ec8ab16bbfc Reviewed-by: Christian Kandeler --- .../remotelinuxcustomrunconfiguration.cpp | 30 ++++++++++++------- .../remotelinuxcustomrunconfiguration.h | 14 --------- .../remotelinuxrunconfiguration.cpp | 24 ++++++++------- .../remotelinux/remotelinuxrunconfiguration.h | 11 ------- 4 files changed, 34 insertions(+), 45 deletions(-) diff --git a/src/plugins/remotelinux/remotelinuxcustomrunconfiguration.cpp b/src/plugins/remotelinux/remotelinuxcustomrunconfiguration.cpp index 7588dcc5809..b3604332d17 100644 --- a/src/plugins/remotelinux/remotelinuxcustomrunconfiguration.cpp +++ b/src/plugins/remotelinux/remotelinuxcustomrunconfiguration.cpp @@ -41,7 +41,20 @@ using namespace Utils; namespace RemoteLinux { namespace Internal { -RemoteLinuxCustomRunConfiguration::RemoteLinuxCustomRunConfiguration(Target *target, Utils::Id id) +class RemoteLinuxCustomRunConfiguration : public RunConfiguration +{ + Q_DECLARE_TR_FUNCTIONS(RemoteLinux::Internal::RemoteLinuxCustomRunConfiguration) + +public: + RemoteLinuxCustomRunConfiguration(Target *target, Id id); + + QString runConfigDefaultDisplayName(); + +private: + Tasks checkForIssues() const override; +}; + +RemoteLinuxCustomRunConfiguration::RemoteLinuxCustomRunConfiguration(Target *target, Id id) : RunConfiguration(target, id) { auto exeAspect = addAspect(); @@ -62,9 +75,14 @@ RemoteLinuxCustomRunConfiguration::RemoteLinuxCustomRunConfiguration(Target *tar if (HostOsInfo::isAnyUnixHost()) addAspect(); addAspect(target); - if (Utils::HostOsInfo::isAnyUnixHost()) + if (HostOsInfo::isAnyUnixHost()) addAspect(); + setRunnableModifier([this](Runnable &r) { + if (const auto * const forwardingAspect = aspect()) + r.extraData.insert("Ssh.X11ForwardToDisplay", forwardingAspect->display(macroExpander())); + }); + setDefaultDisplayName(runConfigDefaultDisplayName()); } @@ -76,14 +94,6 @@ QString RemoteLinuxCustomRunConfiguration::runConfigDefaultDisplayName() return RunConfigurationFactory::decoratedTargetName(display, target()); } -Runnable RemoteLinuxCustomRunConfiguration::runnable() const -{ - ProjectExplorer::Runnable r = RunConfiguration::runnable(); - if (const auto * const forwardingAspect = aspect()) - r.extraData.insert("Ssh.X11ForwardToDisplay", forwardingAspect->display(macroExpander())); - return r; -} - Tasks RemoteLinuxCustomRunConfiguration::checkForIssues() const { Tasks tasks; diff --git a/src/plugins/remotelinux/remotelinuxcustomrunconfiguration.h b/src/plugins/remotelinux/remotelinuxcustomrunconfiguration.h index 9cd0385b31f..aeed4c55df4 100644 --- a/src/plugins/remotelinux/remotelinuxcustomrunconfiguration.h +++ b/src/plugins/remotelinux/remotelinuxcustomrunconfiguration.h @@ -30,20 +30,6 @@ namespace RemoteLinux { namespace Internal { -class RemoteLinuxCustomRunConfiguration : public ProjectExplorer::RunConfiguration -{ - Q_OBJECT - -public: - RemoteLinuxCustomRunConfiguration(ProjectExplorer::Target *target, Utils::Id id); - - QString runConfigDefaultDisplayName(); - -private: - ProjectExplorer::Runnable runnable() const override; - ProjectExplorer::Tasks checkForIssues() const override; -}; - class RemoteLinuxCustomRunConfigurationFactory : public ProjectExplorer::FixedRunConfigurationFactory { diff --git a/src/plugins/remotelinux/remotelinuxrunconfiguration.cpp b/src/plugins/remotelinux/remotelinuxrunconfiguration.cpp index 9b1773d56ad..c964d235cc5 100644 --- a/src/plugins/remotelinux/remotelinuxrunconfiguration.cpp +++ b/src/plugins/remotelinux/remotelinuxrunconfiguration.cpp @@ -46,7 +46,15 @@ using namespace Utils; namespace RemoteLinux { namespace Internal { -RemoteLinuxRunConfiguration::RemoteLinuxRunConfiguration(Target *target, Utils::Id id) +class RemoteLinuxRunConfiguration final : public RunConfiguration +{ + Q_DECLARE_TR_FUNCTIONS(RemoteLinux::Internal::RemoteLinuxRunConfiguration) + +public: + RemoteLinuxRunConfiguration(Target *target, Id id); +}; + +RemoteLinuxRunConfiguration::RemoteLinuxRunConfiguration(Target *target, Id id) : RunConfiguration(target, id) { auto exeAspect = addAspect(); @@ -78,20 +86,16 @@ RemoteLinuxRunConfiguration::RemoteLinuxRunConfiguration(Target *target, Utils:: symbolsAspect->setFilePath(localExecutable); }); + setRunnableModifier([this](Runnable &r) { + if (const auto * const forwardingAspect = aspect()) + r.extraData.insert("Ssh.X11ForwardToDisplay", forwardingAspect->display(macroExpander())); + }); + connect(target, &Target::buildSystemUpdated, this, &RunConfiguration::update); connect(target, &Target::deploymentDataChanged, this, &RunConfiguration::update); connect(target, &Target::kitChanged, this, &RunConfiguration::update); } -Runnable RemoteLinuxRunConfiguration::runnable() const -{ - Runnable r = RunConfiguration::runnable(); - const auto * const forwardingAspect = aspect(); - if (forwardingAspect) - r.extraData.insert("Ssh.X11ForwardToDisplay", forwardingAspect->display(macroExpander())); - return r; -} - // RemoteLinuxRunConfigurationFactory RemoteLinuxRunConfigurationFactory::RemoteLinuxRunConfigurationFactory() diff --git a/src/plugins/remotelinux/remotelinuxrunconfiguration.h b/src/plugins/remotelinux/remotelinuxrunconfiguration.h index 4cd0a5f976d..59951dbe457 100644 --- a/src/plugins/remotelinux/remotelinuxrunconfiguration.h +++ b/src/plugins/remotelinux/remotelinuxrunconfiguration.h @@ -32,17 +32,6 @@ namespace RemoteLinux { namespace Internal { -class RemoteLinuxRunConfiguration final : public ProjectExplorer::RunConfiguration -{ - Q_OBJECT - -public: - RemoteLinuxRunConfiguration(ProjectExplorer::Target *target, Utils::Id id); - -private: - ProjectExplorer::Runnable runnable() const override; -}; - class RemoteLinuxRunConfigurationFactory final : public ProjectExplorer::RunConfigurationFactory { public: