From 2d624e8b19e208ceba55aa2628384f6a72fdcc89 Mon Sep 17 00:00:00 2001
From: dt <qtc-committer@nokia.com>
Date: Tue, 11 Jan 2011 15:21:49 +0100
Subject: [PATCH] ProjectExplorer: Add option to not show output on run

Task-Nr: QTCREATORBUG-3433
---
 src/plugins/projectexplorer/projectexplorer.cpp            | 4 +++-
 src/plugins/projectexplorer/projectexplorersettings.h      | 5 ++++-
 .../projectexplorer/projectexplorersettingspage.cpp        | 2 ++
 src/plugins/projectexplorer/projectexplorersettingspage.ui | 7 +++++++
 4 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index 0fd7292d8be..134cee9d209 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -827,6 +827,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
         d->m_projectExplorerSettings.deployBeforeRun = s->value("ProjectExplorer/Settings/DeployBeforeRun", true).toBool();
         d->m_projectExplorerSettings.saveBeforeBuild = s->value("ProjectExplorer/Settings/SaveBeforeBuild", false).toBool();
         d->m_projectExplorerSettings.showCompilerOutput = s->value("ProjectExplorer/Settings/ShowCompilerOutput", false).toBool();
+        d->m_projectExplorerSettings.showRunOutput = s->value("ProjectExplorer/Settings/ShowRunOutput", true).toBool();
         d->m_projectExplorerSettings.cleanOldAppOutput = s->value("ProjectExplorer/Settings/CleanOldAppOutput", false).toBool();
         d->m_projectExplorerSettings.wrapAppOutput = s->value("ProjectExplorer/Settings/WrapAppOutput", true).toBool();
         d->m_projectExplorerSettings.useJom = s->value("ProjectExplorer/Settings/UseJom", true).toBool();
@@ -1100,6 +1101,7 @@ void ProjectExplorerPlugin::savePersistentSettings()
         s->setValue("ProjectExplorer/Settings/DeployBeforeRun", d->m_projectExplorerSettings.deployBeforeRun);
         s->setValue("ProjectExplorer/Settings/SaveBeforeBuild", d->m_projectExplorerSettings.saveBeforeBuild);
         s->setValue("ProjectExplorer/Settings/ShowCompilerOutput", d->m_projectExplorerSettings.showCompilerOutput);
+        s->setValue("ProjectExplorer/Settings/ShowRunOutput", d->m_projectExplorerSettings.showRunOutput);
         s->setValue("ProjectExplorer/Settings/CleanOldAppOutput", d->m_projectExplorerSettings.cleanOldAppOutput);
         s->setValue("ProjectExplorer/Settings/WrapAppOutput", d->m_projectExplorerSettings.wrapAppOutput);
         s->setValue("ProjectExplorer/Settings/UseJom", d->m_projectExplorerSettings.useJom);
@@ -1385,7 +1387,7 @@ void ProjectExplorerPlugin::executeRunConfiguration(RunConfiguration *runConfigu
 void ProjectExplorerPlugin::startRunControl(RunControl *runControl, const QString &runMode)
 {
     d->m_outputPane->createNewOutputWindow(runControl);
-    if (runMode == ProjectExplorer::Constants::RUNMODE)
+    if (runMode == ProjectExplorer::Constants::RUNMODE && d->m_projectExplorerSettings.showRunOutput)
         d->m_outputPane->popup(false);
     d->m_outputPane->showTabFor(runControl);
     connect(runControl, SIGNAL(finished()), this, SLOT(runControlFinished()));
diff --git a/src/plugins/projectexplorer/projectexplorersettings.h b/src/plugins/projectexplorer/projectexplorersettings.h
index ed3e8de00dc..bc0276f80c6 100644
--- a/src/plugins/projectexplorer/projectexplorersettings.h
+++ b/src/plugins/projectexplorer/projectexplorersettings.h
@@ -44,7 +44,8 @@ struct ProjectExplorerSettings
     ProjectExplorerSettings() :
         buildBeforeDeploy(true), deployBeforeRun(true),
         saveBeforeBuild(false), showCompilerOutput(false),
-        cleanOldAppOutput(false), wrapAppOutput(true), useJom(true),
+        showRunOutput(true), cleanOldAppOutput(false),
+        wrapAppOutput(true), useJom(true),
         autorestoreLastSession(false)
     { }
 
@@ -52,6 +53,7 @@ struct ProjectExplorerSettings
     bool deployBeforeRun;
     bool saveBeforeBuild;
     bool showCompilerOutput;
+    bool showRunOutput;
     bool cleanOldAppOutput;
     bool wrapAppOutput;
     bool useJom;
@@ -69,6 +71,7 @@ inline bool operator==(const ProjectExplorerSettings &p1, const ProjectExplorerS
             && p1.deployBeforeRun == p2.deployBeforeRun
             && p1.saveBeforeBuild == p2.saveBeforeBuild
             && p1.showCompilerOutput == p2.showCompilerOutput
+            && p1.showRunOutput == p2.showRunOutput
             && p1.cleanOldAppOutput == p2.cleanOldAppOutput
             && p1.wrapAppOutput == p2.wrapAppOutput
             && p1.useJom == p2.useJom
diff --git a/src/plugins/projectexplorer/projectexplorersettingspage.cpp b/src/plugins/projectexplorer/projectexplorersettingspage.cpp
index 564dcaa34b2..8ac3f6c41e3 100644
--- a/src/plugins/projectexplorer/projectexplorersettingspage.cpp
+++ b/src/plugins/projectexplorer/projectexplorersettingspage.cpp
@@ -73,6 +73,7 @@ ProjectExplorerSettings ProjectExplorerSettingsWidget::settings() const
     pes.deployBeforeRun = m_ui.deployProjectBeforeRunCheckBox->isChecked();
     pes.saveBeforeBuild = m_ui.saveAllFilesCheckBox->isChecked();
     pes.showCompilerOutput = m_ui.showCompileOutputCheckBox->isChecked();
+    pes.showRunOutput = m_ui.showRunOutputCheckBox->isChecked();
     pes.cleanOldAppOutput = m_ui.cleanOldAppOutputCheckBox->isChecked();
     pes.wrapAppOutput = m_ui.wrapAppOutputCheckBox->isChecked();
     pes.useJom = m_ui.jomCheckbox->isChecked();
@@ -85,6 +86,7 @@ void ProjectExplorerSettingsWidget::setSettings(const ProjectExplorerSettings  &
     m_ui.deployProjectBeforeRunCheckBox->setChecked(pes.deployBeforeRun);
     m_ui.saveAllFilesCheckBox->setChecked(pes.saveBeforeBuild);
     m_ui.showCompileOutputCheckBox->setChecked(pes.showCompilerOutput);
+    m_ui.showRunOutputCheckBox->setChecked(pes.showRunOutput);
     m_ui.cleanOldAppOutputCheckBox->setChecked(pes.cleanOldAppOutput);
     m_ui.wrapAppOutputCheckBox->setChecked(pes.wrapAppOutput);
     m_ui.jomCheckbox->setChecked(pes.useJom);
diff --git a/src/plugins/projectexplorer/projectexplorersettingspage.ui b/src/plugins/projectexplorer/projectexplorersettingspage.ui
index 020f53f7d38..b645485cd4b 100644
--- a/src/plugins/projectexplorer/projectexplorersettingspage.ui
+++ b/src/plugins/projectexplorer/projectexplorersettingspage.ui
@@ -83,6 +83,13 @@
         </property>
        </widget>
       </item>
+      <item>
+       <widget class="QCheckBox" name="showRunOutputCheckBox">
+        <property name="text">
+         <string>Show run output on running</string>
+        </property>
+       </widget>
+      </item>
       <item>
        <widget class="QCheckBox" name="cleanOldAppOutputCheckBox">
         <property name="text">
-- 
GitLab