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 <christian.stenger@qt.io>
This commit is contained in:
hjk
2020-02-11 11:09:04 +01:00
parent 7e363e4168
commit 9caf355e11
4 changed files with 78 additions and 84 deletions

View File

@@ -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<LocalEnvironmentAspect>(target);
addAspect<ExecutableAspect>();
addAspect<ArgumentsAspect>();
addAspect<WorkingDirectoryAspect>();
addAspect<TerminalAspect>();
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<LocalEnvironmentAspect>(target);
addAspect<ExecutableAspect>();
addAspect<ArgumentsAspect>();
addAspect<WorkingDirectoryAspect>();
addAspect<TerminalAspect>();
setUpdater([this] {
auto buildConfiguration = qobject_cast<NimBuildConfiguration *>(activeBuildConfiguration());
QTC_ASSERT(buildConfiguration, return);
const QFileInfo outFileInfo = buildConfiguration->outFilePath().toFileInfo();
aspect<ExecutableAspect>()->setExecutable(FilePath::fromString(outFileInfo.absoluteFilePath()));
const QString workingDirectory = outFileInfo.absoluteDir().absolutePath();
aspect<WorkingDirectoryAspect>()->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<NimBuildConfiguration *>(activeBuildConfiguration());
QTC_ASSERT(buildConfiguration, return);
const QFileInfo outFileInfo = buildConfiguration->outFilePath().toFileInfo();
aspect<ExecutableAspect>()->setExecutable(FilePath::fromString(outFileInfo.absoluteFilePath()));
const QString workingDirectory = outFileInfo.absoluteDir().absolutePath();
aspect<WorkingDirectoryAspect>()->setDefaultWorkingDirectory(FilePath::fromString(workingDirectory));
});
// Connect target signals
connect(target, &Target::buildSystemUpdated, this, &RunConfiguration::update);
update();
}
};
// NimRunConfigurationFactory