forked from qt-creator/qt-creator
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:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user