diff options
Diffstat (limited to 'src/plugins/projectexplorer/customexecutablerunconfiguration.cpp')
-rw-r--r-- | src/plugins/projectexplorer/customexecutablerunconfiguration.cpp | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp index d2ce450d03..0df2b30726 100644 --- a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp +++ b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp @@ -33,6 +33,7 @@ #include <coreplugin/icore.h> #include <projectexplorer/debugginghelper.h> +#include <utils/detailsbutton.h> #include <QtGui/QCheckBox> #include <QtGui/QFormLayout> @@ -91,7 +92,22 @@ CustomExecutableConfigurationWidget::CustomExecutableConfigurationWidget(CustomE QVBoxLayout *vbox = new QVBoxLayout(this); vbox->setContentsMargins(0, -1, 0, -1); - vbox->addLayout(layout); + + m_summaryLabel = new QLabel(this); + + m_detailsButton = new Utils::DetailsButton(this); + connect(m_detailsButton, SIGNAL(clicked()), + this, SLOT(toggleDetails())); + + QHBoxLayout *hbox = new QHBoxLayout(); + hbox->addWidget(m_summaryLabel); + hbox->addWidget(m_detailsButton); + vbox->addLayout(hbox); + + m_detailsWidget = new QWidget(this); + m_detailsWidget->setLayout(layout); + vbox->addWidget(m_detailsWidget); + m_detailsWidget->setVisible(false); QLabel *environmentLabel = new QLabel(this); environmentLabel->setText(tr("Run Environment")); @@ -146,6 +162,11 @@ CustomExecutableConfigurationWidget::CustomExecutableConfigurationWidget(CustomE this, SLOT(userEnvironmentChangesChanged())); } +void CustomExecutableConfigurationWidget::toggleDetails() +{ + m_detailsWidget->setVisible(!m_detailsWidget->isVisible()); +} + void CustomExecutableConfigurationWidget::userChangesUpdated() { m_runConfiguration->setUserEnvironmentChanges(m_environmentWidget->userChanges()); @@ -211,10 +232,18 @@ void CustomExecutableConfigurationWidget::termToggled(bool on) void CustomExecutableConfigurationWidget::changed() { + const QString &executable = m_runConfiguration->baseExecutable(); + QString text = tr("No Executable specified."); + if (!executable.isEmpty()) + text = tr("Running executable: <b>%1</b> %2"). + arg(executable, + ProjectExplorer::Environment::joinArgumentList(m_runConfiguration->commandLineArguments())); + + m_summaryLabel->setText(text); // We triggered the change, don't update us if (m_ignoreChange) return; - m_executableChooser->setPath(m_runConfiguration->baseExecutable()); + m_executableChooser->setPath(executable); m_commandLineArgumentsLineEdit->setText(ProjectExplorer::Environment::joinArgumentList(m_runConfiguration->commandLineArguments())); m_workingDirectory->setPath(m_runConfiguration->baseWorkingDirectory()); m_useTerminalCheck->setChecked(m_runConfiguration->runMode() == ApplicationRunConfiguration::Console); |