Nim: Use generic RunConfiguration::update setup

Change-Id: I531357a05d01a29ddb9a5d33be1bfac9ca0cc9dd
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2019-12-11 13:09:54 +01:00
parent d1d9df60b6
commit 4e3bc88eef
4 changed files with 20 additions and 30 deletions

View File

@@ -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<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));
});
void NimRunConfiguration::updateConfiguration()
{
auto buildConfiguration = qobject_cast<NimBuildConfiguration *>(activeBuildConfiguration());
if (!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