From f53cac7df2272abc234e599dfcdf1d40816af23f Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Tue, 19 Nov 2013 11:30:00 +0100 Subject: [PATCH] Qbs: Properly initialize "Run in Terminal" based on qbs properties "Run in Terminal" is checked/unchecked according to the consoleApplication property found in qbs. Rename the forceGuiMode method to better describe what it is used for. Change-Id: I485058c85563cf4d3ced0d1a5f8cb1bf89791750 Reviewed-by: Tobias Hunger --- .../qbsprojectmanager/qbsrunconfiguration.cpp | 16 +++++++--------- .../qbsprojectmanager/qbsrunconfiguration.h | 2 +- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp index 8d6a4f0fa5c..979807032f4 100644 --- a/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp +++ b/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp @@ -141,6 +141,9 @@ void QbsRunConfiguration::ctor() connect(target(), SIGNAL(activeDeployConfigurationChanged(ProjectExplorer::DeployConfiguration*)), this, SLOT(installStepChanged())); installStepChanged(); + + if (isConsoleApplication()) + m_runMode = Console; } QWidget *QbsRunConfiguration::createConfigurationWidget() @@ -206,13 +209,10 @@ QString QbsRunConfiguration::executable() const ProjectExplorer::LocalApplicationRunConfiguration::RunMode QbsRunConfiguration::runMode() const { - if (forcedGuiMode()) - return LocalApplicationRunConfiguration::Gui; - return m_runMode; } -bool QbsRunConfiguration::forcedGuiMode() const +bool QbsRunConfiguration::isConsoleApplication() const { QbsProject *pro = static_cast(target()->project()); const qbs::ProductData product = findProduct(pro->qbsProjectData(), m_qbsProduct); @@ -388,8 +388,6 @@ QbsRunConfigurationWidget::QbsRunConfigurationWidget(QbsRunConfiguration *rc, QW QHBoxLayout *innerBox = new QHBoxLayout(); m_useTerminalCheck = new QCheckBox(tr("Run in terminal"), this); - m_useTerminalCheck->setChecked(m_rc->runMode() == ProjectExplorer::LocalApplicationRunConfiguration::Console); - m_useTerminalCheck->setVisible(!m_rc->forcedGuiMode()); innerBox->addWidget(m_useTerminalCheck); innerBox->addStretch(); @@ -436,6 +434,8 @@ void QbsRunConfigurationWidget::runConfigurationEnabledChange() m_disabledIcon->setVisible(!enabled); m_disabledReason->setVisible(!enabled); m_disabledReason->setText(m_rc->disabledReason()); + + m_useTerminalCheck->setChecked(m_rc->runMode() == ProjectExplorer::LocalApplicationRunConfiguration::Console); targetInformationHasChanged(); } @@ -495,10 +495,8 @@ void QbsRunConfigurationWidget::commandLineArgumentsChanged(const QString &args) void QbsRunConfigurationWidget::runModeChanged(ProjectExplorer::LocalApplicationRunConfiguration::RunMode runMode) { - if (!m_ignoreChange) { - m_useTerminalCheck->setVisible(!m_rc->forcedGuiMode()); + if (!m_ignoreChange) m_useTerminalCheck->setChecked(runMode == ProjectExplorer::LocalApplicationRunConfiguration::Console); - } } // -------------------------------------------------------------------- diff --git a/src/plugins/qbsprojectmanager/qbsrunconfiguration.h b/src/plugins/qbsprojectmanager/qbsrunconfiguration.h index 44104a041ba..3e505d380e8 100644 --- a/src/plugins/qbsprojectmanager/qbsrunconfiguration.h +++ b/src/plugins/qbsprojectmanager/qbsrunconfiguration.h @@ -78,7 +78,6 @@ public: QString executable() const; RunMode runMode() const; - bool forcedGuiMode() const; QString workingDirectory() const; QString commandLineArguments() const; @@ -91,6 +90,7 @@ public: void addToBaseEnvironment(Utils::Environment &env) const; QString qbsProduct() const; + bool isConsoleApplication() const; signals: void commandLineArgumentsChanged(const QString&);