diff --git a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp index bfb4fcbc71f..6e4591e0e18 100644 --- a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp @@ -37,6 +37,7 @@ #include #include +#include #include #include #include @@ -177,6 +178,14 @@ QString CMakeRunConfiguration::disabledReason() const return QString(); } +static void updateExecutable(CMakeRunConfiguration *rc, Utils::FancyLineEdit *fle) +{ + const Runnable runnable = rc->runnable(); + fle->setText(runnable.is() + ? Utils::FileName::fromString(runnable.as().executable).toUserOutput() + : QString()); +} + // Configuration widget CMakeRunConfigurationWidget::CMakeRunConfigurationWidget(CMakeRunConfiguration *cmakeRunConfiguration, QWidget *parent) : QWidget(parent) @@ -185,6 +194,16 @@ CMakeRunConfigurationWidget::CMakeRunConfigurationWidget(CMakeRunConfiguration * fl->setMargin(0); fl->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow); + auto executableLabel = new QLabel(tr("Executable:")); + auto executable = new Utils::FancyLineEdit; + executable->setReadOnly(true); + executable->setPlaceholderText(tr("")); + connect(cmakeRunConfiguration, &CMakeRunConfiguration::enabledChanged, + this, std::bind(updateExecutable, cmakeRunConfiguration, executable)); + updateExecutable(cmakeRunConfiguration, executable); + + fl->addRow(executableLabel, executable); + cmakeRunConfiguration->extraAspect()->addToMainConfigurationWidget(this, fl); cmakeRunConfiguration->extraAspect()->addToMainConfigurationWidget(this, fl); cmakeRunConfiguration->extraAspect()->addToMainConfigurationWidget(this, fl);