From 2be16feb5cd1b3455891ec20b76d19c3da098b1e Mon Sep 17 00:00:00 2001
From: hjk <hjk121@nokiamail.com>
Date: Thu, 21 Feb 2013 17:36:55 +0100
Subject: [PATCH] Qt4Runconfig: Add options to run on QVFb

Change-Id: I9cc5261bbe0b9738151a0978ffb1a8cef6166ab7
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
---
 .../qt-desktop/qt4runconfiguration.cpp        | 19 ++++++++++++++++++-
 .../qt-desktop/qt4runconfiguration.h          |  2 ++
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp
index c2dbf17f45d..d9a1c6b871b 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp
@@ -257,10 +257,19 @@ Qt4RunConfigurationWidget::Qt4RunConfigurationWidget(Qt4RunConfiguration *qt4Run
     boxlayout->addWidget(resetButton);
     toplayout->addRow(tr("Working directory:"), boxlayout);
 
+    QHBoxLayout *innerBox = new QHBoxLayout();
     m_useTerminalCheck = new QCheckBox(tr("Run in terminal"), this);
     m_useTerminalCheck->setChecked(m_qt4RunConfiguration->runMode() == ProjectExplorer::LocalApplicationRunConfiguration::Console);
-    toplayout->addRow(QString(), m_useTerminalCheck);
     m_useTerminalCheck->setVisible(!m_qt4RunConfiguration->forcedGuiMode());
+    innerBox->addWidget(m_useTerminalCheck);
+
+    m_useQvfbCheck = new QCheckBox(tr("Run on QVFb"), this);
+    m_useQvfbCheck->setToolTip(tr("Check this option to run the application on a Qt Virtual Framebuffer."));
+    m_useQvfbCheck->setChecked(m_qt4RunConfiguration->runMode() == ProjectExplorer::LocalApplicationRunConfiguration::Console);
+    m_useQvfbCheck->setVisible(false);
+    innerBox->addWidget(m_useQvfbCheck);
+    innerBox->addStretch();
+    toplayout->addRow(QString(), innerBox);
 
     if (Utils::HostOsInfo::isMacHost()) {
         m_usingDyldImageSuffix = new QCheckBox(tr("Use debug version of frameworks (DYLD_IMAGE_SUFFIX=_debug)"), this);
@@ -313,6 +322,8 @@ Qt4RunConfigurationWidget::Qt4RunConfigurationWidget(Qt4RunConfiguration *qt4Run
             this, SLOT(argumentsEdited(QString)));
     connect(m_useTerminalCheck, SIGNAL(toggled(bool)),
             this, SLOT(termToggled(bool)));
+    connect(m_useQvfbCheck, SIGNAL(toggled(bool)),
+            this, SLOT(qvfbToggled(bool)));
 
     connect(m_environmentWidget, SIGNAL(userChangesChanged()),
             this, SLOT(userChangesEdited()));
@@ -418,6 +429,12 @@ void Qt4RunConfigurationWidget::termToggled(bool on)
     m_ignoreChange = false;
 }
 
+void Qt4RunConfigurationWidget::qvfbToggled(bool on)
+{
+    m_ignoreChange = true;
+    m_ignoreChange = false;
+}
+
 void Qt4RunConfigurationWidget::usingDyldImageSuffixToggled(bool state)
 {
     m_ignoreChange = true;
diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.h b/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.h
index 8fa80838ca3..ce61c7baa37 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.h
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.h
@@ -181,6 +181,7 @@ private slots:
 
     void effectiveTargetInformationChanged();
     void termToggled(bool);
+    void qvfbToggled(bool);
     void usingDyldImageSuffixToggled(bool);
     void usingDyldImageSuffixChanged(bool);
     void baseEnvironmentSelected(int index);
@@ -194,6 +195,7 @@ private:
     Utils::PathChooser *m_workingDirectoryEdit;
     QLineEdit *m_argumentsLineEdit;
     QCheckBox *m_useTerminalCheck;
+    QCheckBox *m_useQvfbCheck;
     QCheckBox *m_usingDyldImageSuffix;
     QLineEdit *m_qmlDebugPort;
 
-- 
GitLab