From 9caf355e11eb649474ffd61e9b4a3c4f8aa00f29 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 11 Feb 2020 11:09:04 +0100 Subject: [PATCH] Nim: Move RunConfigurations to .cpp, drop Q_OBJECT Also remove NimbleRunConfigurationFactory::availableCreators reimplementation that was the same as the base. Change-Id: Ied86c08e77a5bb70d8a16cdeddebd99c4ea5120c Reviewed-by: Christian Stenger --- .../nim/project/nimblerunconfiguration.cpp | 79 +++++++++++-------- .../nim/project/nimblerunconfiguration.h | 25 +----- .../nim/project/nimrunconfiguration.cpp | 48 ++++++----- src/plugins/nim/project/nimrunconfiguration.h | 10 +-- 4 files changed, 78 insertions(+), 84 deletions(-) diff --git a/src/plugins/nim/project/nimblerunconfiguration.cpp b/src/plugins/nim/project/nimblerunconfiguration.cpp index c7f166182e6..ebb77a037db 100644 --- a/src/plugins/nim/project/nimblerunconfiguration.cpp +++ b/src/plugins/nim/project/nimblerunconfiguration.cpp @@ -37,29 +37,38 @@ #include -using namespace Nim; using namespace ProjectExplorer; -NimbleRunConfiguration::NimbleRunConfiguration(ProjectExplorer::Target *target, Core::Id id) - : RunConfiguration(target, id) +namespace Nim { + +// NimbleRunConfiguration + +class NimbleRunConfiguration : public RunConfiguration { - addAspect(target); - addAspect(); - addAspect(); - addAspect(); - addAspect(); + Q_DECLARE_TR_FUNCTIONS(Nim::NimbleRunConfiguration) - setUpdater([this] { - BuildTargetInfo bti = buildTargetInfo(); - setDisplayName(bti.displayName); - setDefaultDisplayName(bti.displayName); - aspect()->setExecutable(bti.targetFilePath); - aspect()->setDefaultWorkingDirectory(bti.workingDirectory); - }); +public: + NimbleRunConfiguration(Target *target, Core::Id id) + : RunConfiguration(target, id) + { + addAspect(target); + addAspect(); + addAspect(); + addAspect(); + addAspect(); - connect(target, &Target::buildSystemUpdated, this, &RunConfiguration::update); - update(); -} + setUpdater([this] { + 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(); + } +}; NimbleRunConfigurationFactory::NimbleRunConfigurationFactory() : RunConfigurationFactory() @@ -69,22 +78,26 @@ NimbleRunConfigurationFactory::NimbleRunConfigurationFactory() addSupportedTargetDeviceType(ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE); } -QList NimbleRunConfigurationFactory::availableCreators(Target *parent) const -{ - return RunConfigurationFactory::availableCreators(parent); -} -NimbleTestConfiguration::NimbleTestConfiguration(Target *target, Core::Id id) - : RunConfiguration(target, id) -{ - addAspect()->setExecutable(Utils::FilePath::fromString(QStandardPaths::findExecutable("nimble"))); - addAspect()->setArguments("test"); - addAspect()->setDefaultWorkingDirectory(project()->projectDirectory()); - addAspect(); +// NimbleTestConfiguration - setDisplayName(tr("Nimble Test")); - setDefaultDisplayName(tr("Nimble Test")); -} +class NimbleTestConfiguration : public RunConfiguration +{ + Q_DECLARE_TR_FUNCTIONS(Nim::NimbleTestConfiguration) + +public: + NimbleTestConfiguration(ProjectExplorer::Target *target, Core::Id id) + : RunConfiguration(target, id) + { + addAspect()->setExecutable(Utils::FilePath::fromString(QStandardPaths::findExecutable("nimble"))); + addAspect()->setArguments("test"); + addAspect()->setDefaultWorkingDirectory(project()->projectDirectory()); + addAspect(); + + setDisplayName(tr("Nimble Test")); + setDefaultDisplayName(tr("Nimble Test")); + } +}; NimbleTestConfigurationFactory::NimbleTestConfigurationFactory() : FixedRunConfigurationFactory(QString()) @@ -92,3 +105,5 @@ NimbleTestConfigurationFactory::NimbleTestConfigurationFactory() registerRunConfiguration("Nim.NimbleTestConfiguration"); addSupportedProjectType(Constants::C_NIMBLEPROJECT_ID); } + +} // Nim diff --git a/src/plugins/nim/project/nimblerunconfiguration.h b/src/plugins/nim/project/nimblerunconfiguration.h index df300bc2839..bbc64489cf9 100644 --- a/src/plugins/nim/project/nimblerunconfiguration.h +++ b/src/plugins/nim/project/nimblerunconfiguration.h @@ -29,35 +29,16 @@ namespace Nim { -class NimbleRunConfiguration : public ProjectExplorer::RunConfiguration -{ - Q_OBJECT - -public: - NimbleRunConfiguration(ProjectExplorer::Target *target, Core::Id id); -}; - -class NimbleRunConfigurationFactory : public ProjectExplorer::RunConfigurationFactory +class NimbleRunConfigurationFactory final : public ProjectExplorer::RunConfigurationFactory { public: NimbleRunConfigurationFactory(); - -protected: - QList availableCreators(ProjectExplorer::Target *parent) const override; }; -class NimbleTestConfiguration : public ProjectExplorer::RunConfiguration -{ - Q_OBJECT - -public: - NimbleTestConfiguration(ProjectExplorer::Target *target, Core::Id id); -}; - -class NimbleTestConfigurationFactory : public ProjectExplorer::FixedRunConfigurationFactory +class NimbleTestConfigurationFactory final : public ProjectExplorer::FixedRunConfigurationFactory { public: NimbleTestConfigurationFactory(); }; -} +} // Nim diff --git a/src/plugins/nim/project/nimrunconfiguration.cpp b/src/plugins/nim/project/nimrunconfiguration.cpp index e803dd3a372..808d36e101a 100644 --- a/src/plugins/nim/project/nimrunconfiguration.cpp +++ b/src/plugins/nim/project/nimrunconfiguration.cpp @@ -41,31 +41,37 @@ using namespace Utils; namespace Nim { -NimRunConfiguration::NimRunConfiguration(Target *target, Core::Id id) - : RunConfiguration(target, id) +class NimRunConfiguration final : public RunConfiguration { - addAspect(target); - addAspect(); - addAspect(); - addAspect(); - addAspect(); + Q_DECLARE_TR_FUNCTIONS(Nim::NimRunConfiguration) - setDisplayName(tr("Current Build Target")); - setDefaultDisplayName(tr("Current Build Target")); +public: + NimRunConfiguration(Target *target, Core::Id id) + : RunConfiguration(target, id) + { + addAspect(target); + addAspect(); + addAspect(); + addAspect(); + addAspect(); - 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)); - }); + setDisplayName(tr("Current Build Target")); + setDefaultDisplayName(tr("Current Build Target")); - // Connect target signals - connect(target, &Target::buildSystemUpdated, this, &RunConfiguration::update); - update(); -} + 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)); + }); + + // 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 df3968c44c6..2206bee49a9 100644 --- a/src/plugins/nim/project/nimrunconfiguration.h +++ b/src/plugins/nim/project/nimrunconfiguration.h @@ -29,15 +29,7 @@ namespace Nim { -class NimRunConfiguration : public ProjectExplorer::RunConfiguration -{ - Q_OBJECT - -public: - NimRunConfiguration(ProjectExplorer::Target *target, Core::Id id); -}; - -class NimRunConfigurationFactory : public ProjectExplorer::FixedRunConfigurationFactory +class NimRunConfigurationFactory final : public ProjectExplorer::FixedRunConfigurationFactory { public: NimRunConfigurationFactory();