aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/haskell/haskellrunconfiguration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/haskell/haskellrunconfiguration.cpp')
-rw-r--r--plugins/haskell/haskellrunconfiguration.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/plugins/haskell/haskellrunconfiguration.cpp b/plugins/haskell/haskellrunconfiguration.cpp
index 980e4fd..b2b4b7f 100644
--- a/plugins/haskell/haskellrunconfiguration.cpp
+++ b/plugins/haskell/haskellrunconfiguration.cpp
@@ -53,25 +53,23 @@ HaskellExecutableAspect::HaskellExecutableAspect(RunConfiguration *rc)
{
setSettingsKey("Haskell.Executable");
setLabelText(tr("Executable"));
- connect(rc->target(), &Target::applicationTargetsChanged,
- this, &HaskellExecutableAspect::update);
-}
-
-void HaskellExecutableAspect::update()
-{
- RunConfiguration *rc = runConfiguration();
- BuildTargetInfo bti = rc->target()->applicationTargets().buildTargetInfo(rc->buildKey());
- setValue(bti.targetFilePath.toString());
}
HaskellRunConfiguration::HaskellRunConfiguration(Target *target, Core::Id id)
: RunConfiguration(target, id)
{
- addAspect<HaskellExecutableAspect>();
+ auto executableAspect = addAspect<HaskellExecutableAspect>();
+ connect(target, &Target::applicationTargetsChanged, this, [this, target, executableAspect] {
+ BuildTargetInfo bti = target->applicationTargets().buildTargetInfo(buildKey());
+ executableAspect->setValue(bti.targetFilePath.toString());
+ });
+
addAspect<ArgumentsAspect>();
+
auto workingDirAspect = addAspect<WorkingDirectoryAspect>();
workingDirAspect->setDefaultWorkingDirectory(target->project()->projectDirectory());
workingDirAspect->setVisible(false);
+
addAspect<TerminalAspect>();
addAspect<LocalEnvironmentAspect>(LocalEnvironmentAspect::BaseEnvironmentModifier());
}