forked from qt-creator/qt-creator
debugger: some gui & code cosmetics
This commit is contained in:
@@ -33,10 +33,10 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>C++</string>
|
||||
<string>Gui behavior</string>
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout">
|
||||
<item row="0" column="0" colspan="2">
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxListSourceFiles">
|
||||
<property name="toolTip">
|
||||
<string>Checking this will populate the source file view automatically but might slow down debugger startup considerably.</string>
|
||||
@@ -46,46 +46,21 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxUseMessageBoxForSignals">
|
||||
<property name="text">
|
||||
<string>Show a message box when receiving a signal</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxUseAlternatingRowColors">
|
||||
<property name="text">
|
||||
<string>Use alternating row colors in debug views</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="2">
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxUseToolTipsInMainEditor">
|
||||
<property name="text">
|
||||
<string>Use tooltips in main editor while debugging</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxSkipKnownFrames">
|
||||
<property name="toolTip">
|
||||
<string>When this option is checked, 'Step Into' compresses several steps into one in certain situations, leading to 'less noisy' debugging. So will, e.g., the atomic
|
||||
reference counting code be skipped, and a single 'Step Into' for a signal emission will end up directly in the slot connected to it.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Skip known frames when stepping</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxEnableReverseDebugging">
|
||||
<property name="text">
|
||||
<string>Enable reverse debugging</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0" colspan="2">
|
||||
<item row="3" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxRegisterForPostMortem">
|
||||
<property name="toolTip">
|
||||
<string>Register Qt Creator for debugging crashed applications.</string>
|
||||
@@ -95,14 +70,14 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="labelMaximalStackDepth">
|
||||
<property name="text">
|
||||
<string>Maximal stack depth:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="1">
|
||||
<item row="4" column="1">
|
||||
<widget class="QSpinBox" name="spinBoxMaximalStackDepth">
|
||||
<property name="layoutDirection">
|
||||
<enum>Qt::LeftToRight</enum>
|
||||
|
||||
@@ -56,7 +56,7 @@ const char * const GDBRUNNING = "Gdb.Running";
|
||||
|
||||
const char * const DEBUGGER_COMMON_SETTINGS_ID = "A.Common";
|
||||
const char * const DEBUGGER_COMMON_SETTINGS_NAME =
|
||||
QT_TRANSLATE_NOOP("Debugger", "Common");
|
||||
QT_TRANSLATE_NOOP("Debugger", "General");
|
||||
const char * const DEBUGGER_SETTINGS_CATEGORY = "O.Debugger";
|
||||
const char * const DEBUGGER_SETTINGS_TR_CATEGORY =
|
||||
QT_TRANSLATE_NOOP("Debugger", "Debugger");
|
||||
|
||||
@@ -368,10 +368,6 @@ QWidget *CommonOptionsPage::createPage(QWidget *parent)
|
||||
m_ui.checkBoxListSourceFiles);
|
||||
m_group.insert(theDebuggerAction(UseAlternatingRowColors),
|
||||
m_ui.checkBoxUseAlternatingRowColors);
|
||||
m_group.insert(theDebuggerAction(UseMessageBoxForSignals),
|
||||
m_ui.checkBoxUseMessageBoxForSignals);
|
||||
m_group.insert(theDebuggerAction(SkipKnownFrames),
|
||||
m_ui.checkBoxSkipKnownFrames);
|
||||
m_group.insert(theDebuggerAction(UseToolTipsInMainEditor),
|
||||
m_ui.checkBoxUseToolTipsInMainEditor);
|
||||
m_group.insert(theDebuggerAction(AutoDerefPointers), 0);
|
||||
@@ -379,11 +375,8 @@ QWidget *CommonOptionsPage::createPage(QWidget *parent)
|
||||
m_group.insert(theDebuggerAction(UseToolTipsInBreakpointsView), 0);
|
||||
m_group.insert(theDebuggerAction(UseAddressInBreakpointsView), 0);
|
||||
m_group.insert(theDebuggerAction(UseAddressInStackView), 0);
|
||||
m_group.insert(theDebuggerAction(EnableReverseDebugging),
|
||||
m_ui.checkBoxEnableReverseDebugging);
|
||||
m_group.insert(theDebuggerAction(MaximalStackDepth),
|
||||
m_ui.spinBoxMaximalStackDepth);
|
||||
m_group.insert(theDebuggerAction(GdbWatchdogTimeout), 0);
|
||||
m_group.insert(theDebuggerAction(ShowStdNamespace), 0);
|
||||
m_group.insert(theDebuggerAction(ShowQtNamespace), 0);
|
||||
m_group.insert(theDebuggerAction(LogTimeStamps), 0);
|
||||
@@ -403,11 +396,8 @@ QWidget *CommonOptionsPage::createPage(QWidget *parent)
|
||||
QTextStream(&m_searchKeywords) << ' '
|
||||
<< m_ui.checkBoxChangeLanguageAutomatically->text()
|
||||
<< m_ui.checkBoxListSourceFiles->text()
|
||||
<< ' ' << m_ui.checkBoxUseMessageBoxForSignals->text()
|
||||
<< ' ' << m_ui.checkBoxUseAlternatingRowColors->text()
|
||||
<< ' ' << m_ui.checkBoxUseToolTipsInMainEditor->text()
|
||||
<< ' ' << m_ui.checkBoxSkipKnownFrames->text()
|
||||
<< ' ' << m_ui.checkBoxEnableReverseDebugging->text()
|
||||
#ifdef Q_OS_WIN
|
||||
<< ' ' << m_ui.checkBoxRegisterForPostMortem->text()
|
||||
#endif
|
||||
@@ -453,7 +443,7 @@ public:
|
||||
DebuggingHelperOptionPage() {}
|
||||
|
||||
// IOptionsPage
|
||||
QString id() const { return _("B.DebuggingHelper"); }
|
||||
QString id() const { return _("Z.DebuggingHelper"); }
|
||||
QString displayName() const { return tr("Debugging Helper"); }
|
||||
QString category() const { return _(DEBUGGER_SETTINGS_CATEGORY); }
|
||||
QString displayCategory() const { return QCoreApplication::translate("Debugger", DEBUGGER_SETTINGS_TR_CATEGORY); }
|
||||
@@ -942,11 +932,11 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *errorMess
|
||||
editorContextMenu->addAction(cmd);
|
||||
cmd->setAttribute(Command::CA_Hide);
|
||||
|
||||
// FIXME:
|
||||
addAutoReleasedObject(new CommonOptionsPage);
|
||||
addAutoReleasedObject(new DebuggingHelperOptionPage);
|
||||
foreach (Core::IOptionsPage *op, engineOptionPages)
|
||||
addAutoReleasedObject(op);
|
||||
addAutoReleasedObject(new DebuggingHelperOptionPage);
|
||||
|
||||
addAutoReleasedObject(new DebuggerListener);
|
||||
m_locationMark = 0;
|
||||
|
||||
|
||||
@@ -67,15 +67,13 @@
|
||||
#include <QtCore/QSettings>
|
||||
|
||||
namespace Debugger {
|
||||
namespace Internal {
|
||||
|
||||
} // namespace Internal
|
||||
using namespace Debugger::Internal;
|
||||
|
||||
// first: language id, second: menu item
|
||||
typedef QPair<int, QAction *> ViewsMenuItems;
|
||||
|
||||
struct DebuggerUISwitcherPrivate {
|
||||
struct DebuggerUISwitcherPrivate
|
||||
{
|
||||
explicit DebuggerUISwitcherPrivate(DebuggerUISwitcher *q);
|
||||
|
||||
QList<ViewsMenuItems> m_viewsMenuItems;
|
||||
@@ -493,4 +491,4 @@ QList<Internal::DebugToolWindow* > DebuggerUISwitcher::i_mw_debugToolWindows() c
|
||||
return d->m_dockWidgets;
|
||||
}
|
||||
|
||||
}
|
||||
} // namespace Debugger
|
||||
|
||||
@@ -6,15 +6,35 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>417</width>
|
||||
<height>203</height>
|
||||
<width>736</width>
|
||||
<height>198</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Note:</span> The debugging helper in only used to produce a nice display of objects of certain type like QString or std::map in the &quot;Locals and Watchers&quot; view.</p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">It is not strictly necessary for debugging with Qt Creator.</p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html></string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::RichText</enum>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="debuggingHelperGroupBox">
|
||||
<property name="title">
|
||||
<string>Use Debugging helper</string>
|
||||
<string>Use debugging helper</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
@@ -40,7 +60,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="Utils::PathChooser" name="dumperLocationChooser"/>
|
||||
<widget class="Utils::PathChooser" name="dumperLocationChooser" native="true"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
||||
@@ -88,6 +88,13 @@ QWidget *GdbOptionsPage::createPage(QWidget *parent)
|
||||
m_group.insert(theDebuggerAction(GdbWatchdogTimeout),
|
||||
m_ui.spinBoxGdbWatchdogTimeout);
|
||||
|
||||
m_group.insert(theDebuggerAction(UseMessageBoxForSignals),
|
||||
m_ui.checkBoxUseMessageBoxForSignals);
|
||||
m_group.insert(theDebuggerAction(SkipKnownFrames),
|
||||
m_ui.checkBoxSkipKnownFrames);
|
||||
m_group.insert(theDebuggerAction(EnableReverseDebugging),
|
||||
m_ui.checkBoxEnableReverseDebugging);
|
||||
m_group.insert(theDebuggerAction(GdbWatchdogTimeout), 0);
|
||||
|
||||
#if 1
|
||||
m_ui.groupBoxPluginDebugging->hide();
|
||||
@@ -114,6 +121,9 @@ QWidget *GdbOptionsPage::createPage(QWidget *parent)
|
||||
if (m_searchKeywords.isEmpty()) {
|
||||
// TODO: Add breakpoints, environment?
|
||||
QTextStream(&m_searchKeywords) << ' ' << m_ui.labelGdbLocation->text()
|
||||
<< ' ' << m_ui.checkBoxSkipKnownFrames->text()
|
||||
<< ' ' << m_ui.checkBoxEnableReverseDebugging->text()
|
||||
<< ' ' << m_ui.checkBoxUseMessageBoxForSignals->text()
|
||||
<< ' ' << m_ui.labelEnvironment->text()
|
||||
<< ' ' << m_ui.labelGdbStartupScript->text();
|
||||
m_searchKeywords.remove(QLatin1Char('&'));
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBoxLocations">
|
||||
<property name="title">
|
||||
<string>Gdb interaction</string>
|
||||
<string>Gdb</string>
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout">
|
||||
<property name="horizontalSpacing">
|
||||
@@ -65,7 +65,32 @@
|
||||
<item row="2" column="1">
|
||||
<widget class="Utils::PathChooser" name="scriptFileChooser"/>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="2">
|
||||
<item row="5" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxEnableReverseDebugging">
|
||||
<property name="text">
|
||||
<string>Enable reverse debugging</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxSkipKnownFrames">
|
||||
<property name="toolTip">
|
||||
<string>When this option is checked, 'Step Into' compresses several steps into one in certain situations, leading to 'less noisy' debugging. So will, e.g., the atomic
|
||||
reference counting code be skipped, and a single 'Step Into' for a signal emission will end up directly in the slot connected to it.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Skip known frames when stepping</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxUseMessageBoxForSignals">
|
||||
<property name="text">
|
||||
<string>Show a message box when receiving a signal</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxUsePreciseBreakpoints">
|
||||
<property name="toolTip">
|
||||
<string>When this option is checked, the debugger plugin attempts
|
||||
@@ -78,14 +103,14 @@ name in different directories.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="labelGdbWatchdogTimeout">
|
||||
<property name="text">
|
||||
<string>Gdb timeout:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<item row="3" column="1">
|
||||
<widget class="QSpinBox" name="spinBoxGdbWatchdogTimeout">
|
||||
<property name="toolTip">
|
||||
<string>This is the number of seconds Qt Creator will wait before
|
||||
|
||||
@@ -56,7 +56,7 @@ QString TrkOptionsPage::settingsId()
|
||||
|
||||
QString TrkOptionsPage::displayName() const
|
||||
{
|
||||
return tr("Symbian TRK");
|
||||
return tr("Symbian");
|
||||
}
|
||||
|
||||
QString TrkOptionsPage::category() const
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="commGroupBox">
|
||||
<property name="title">
|
||||
<string>Communication</string>
|
||||
<string>Device Communication</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
|
||||
@@ -114,7 +114,7 @@ MaemoGdbSettingsPage::~MaemoGdbSettingsPage()
|
||||
|
||||
QString MaemoGdbSettingsPage::id() const
|
||||
{
|
||||
return QLatin1String("ZZ.Maemo");
|
||||
return QLatin1String("Y.Maemo");
|
||||
}
|
||||
|
||||
QString MaemoGdbSettingsPage::displayName() const
|
||||
|
||||
Reference in New Issue
Block a user