From c318383ee152b6a191c68313537e260723cc54f9 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint <Friedemann.Kleint@nokia.com> Date: Wed, 4 May 2011 09:21:18 +0200 Subject: [PATCH] Debugger: Add 'Run in terminal' to Start External dialog. --- src/plugins/debugger/debuggerdialogs.cpp | 10 ++++ src/plugins/debugger/debuggerdialogs.h | 3 ++ src/plugins/debugger/debuggerplugin.cpp | 5 ++ src/plugins/debugger/startexternaldialog.ui | 51 +++++++++++---------- 4 files changed, 46 insertions(+), 23 deletions(-) diff --git a/src/plugins/debugger/debuggerdialogs.cpp b/src/plugins/debugger/debuggerdialogs.cpp index 2627e9d4d26..8c1c33360fc 100644 --- a/src/plugins/debugger/debuggerdialogs.cpp +++ b/src/plugins/debugger/debuggerdialogs.cpp @@ -594,6 +594,16 @@ bool StartExternalDialog::breakAtMain() const return m_ui->checkBoxBreakAtMain->isChecked(); } +bool StartExternalDialog::runInTerminal() const +{ + return m_ui->checkBoxRunInTerminal->isChecked(); +} + +void StartExternalDialog::setRunInTerminal(bool v) +{ + m_ui->checkBoxRunInTerminal->setChecked(v); +} + ProjectExplorer::Abi StartExternalDialog::abi() const { return m_ui->toolChainComboBox->abi(); diff --git a/src/plugins/debugger/debuggerdialogs.h b/src/plugins/debugger/debuggerdialogs.h index a80ea34c349..0086ed046d0 100644 --- a/src/plugins/debugger/debuggerdialogs.h +++ b/src/plugins/debugger/debuggerdialogs.h @@ -158,6 +158,9 @@ public: bool breakAtMain() const; + bool runInTerminal() const; + void setRunInTerminal(bool v); + bool isValid() const; private slots: diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 71dc06b039a..b741b70fc95 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -1363,6 +1363,8 @@ void DebuggerPluginPrivate::startExternalApplication() configValue(_("LastExternalExecutableFile")).toString()); dlg.setExecutableArguments( configValue(_("LastExternalExecutableArguments")).toString()); + dlg.setRunInTerminal( + configValue(_("LastExternalRunInTerminal")).toBool()); dlg.setWorkingDirectory( configValue(_("LastExternalWorkingDirectory")).toString()); dlg.setAbiIndex(configValue(_("LastExternalAbiIndex")).toInt()); @@ -1376,6 +1378,8 @@ void DebuggerPluginPrivate::startExternalApplication() dlg.executableArguments()); setConfigValue(_("LastExternalWorkingDirectory"), dlg.workingDirectory()); + setConfigValue(_("LastExternalRunInTerminal"), + dlg.runInTerminal()); setConfigValue(_("LastExternalAbiIndex"), QVariant(dlg.abiIndex())); sp.executable = dlg.executableFile(); @@ -1384,6 +1388,7 @@ void DebuggerPluginPrivate::startExternalApplication() sp.debuggerCommand = dlg.debuggerCommand(); sp.workingDirectory = dlg.workingDirectory(); sp.displayName = sp.executable; + sp.useTerminal = dlg.runInTerminal(); if (!dlg.executableArguments().isEmpty()) sp.processArgs = dlg.executableArguments(); // Fixme: 1 of 3 testing hacks. diff --git a/src/plugins/debugger/startexternaldialog.ui b/src/plugins/debugger/startexternaldialog.ui index 6e1dd609aea..ab6047a9b25 100644 --- a/src/plugins/debugger/startexternaldialog.ui +++ b/src/plugins/debugger/startexternaldialog.ui @@ -2,14 +2,6 @@ <ui version="4.0"> <class>StartExternalDialog</class> <widget class="QDialog" name="StartExternalDialog"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>443</width> - <height>213</height> - </rect> - </property> <property name="windowTitle"> <string>Start Debugger</string> </property> @@ -52,6 +44,19 @@ <widget class="QLineEdit" name="argsEdit"/> </item> <item row="2" column="0"> + <widget class="QLabel" name="labelRunInTerminal"> + <property name="text"> + <string>Run in &terminal:</string> + </property> + <property name="buddy"> + <cstring>checkBoxRunInTerminal</cstring> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QCheckBox" name="checkBoxRunInTerminal"/> + </item> + <item row="3" column="0"> <widget class="QLabel" name="workingDirectoryLabel"> <property name="text"> <string>&Working directory:</string> @@ -61,36 +66,36 @@ </property> </widget> </item> - <item row="2" column="1"> + <item row="3" column="1"> <widget class="Utils::PathChooser" name="workingDirectory"/> </item> <item row="4" column="0"> - <widget class="QLabel" name="labelBreakAtMain"> + <widget class="QLabel" name="toolChainLabel"> <property name="text"> - <string>Break at '&main':</string> + <string>&Tool chain:</string> </property> <property name="buddy"> - <cstring>checkBoxBreakAtMain</cstring> + <cstring>toolChainComboBox</cstring> </property> </widget> </item> <item row="4" column="1"> - <widget class="QCheckBox" name="checkBoxBreakAtMain"> - <property name="text"> - <string/> - </property> - </widget> - </item> - <item row="3" column="1"> <widget class="Debugger::Internal::DebuggerToolChainComboBox" name="toolChainComboBox"/> </item> - <item row="3" column="0"> - <widget class="QLabel" name="toolChainLabel"> + <item row="5" column="0"> + <widget class="QLabel" name="labelBreakAtMain"> <property name="text"> - <string>&Tool chain:</string> + <string>Break at '&main':</string> </property> <property name="buddy"> - <cstring>toolChainComboBox</cstring> + <cstring>checkBoxBreakAtMain</cstring> + </property> + </widget> + </item> + <item row="5" column="1"> + <widget class="QCheckBox" name="checkBoxBreakAtMain"> + <property name="text"> + <string/> </property> </widget> </item> -- GitLab