From 3fcf39a764602c883d20c8b66ccb3f68d8210510 Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Tue, 22 Feb 2011 13:23:16 +0100 Subject: [PATCH] debugger: finish moving of binary setting --- src/plugins/debugger/commonoptionspage.ui | 37 ++++-- src/plugins/debugger/debugger.pro | 2 + ...erwidget.cpp => debuggerchooserwidget.cpp} | 108 +++++++++--------- ...hooserwidget.h => debuggerchooserwidget.h} | 24 ++-- src/plugins/debugger/debuggerrunner.cpp | 22 ++-- src/plugins/debugger/gdb/gdb.pri | 2 - src/plugins/debugger/gdb/gdbengine.cpp | 2 +- src/plugins/debugger/gdb/gdboptionspage.ui | 23 ++-- 8 files changed, 121 insertions(+), 99 deletions(-) rename src/plugins/debugger/{gdb/gdbchooserwidget.cpp => debuggerchooserwidget.cpp} (72%) rename src/plugins/debugger/{gdb/gdbchooserwidget.h => debuggerchooserwidget.h} (76%) diff --git a/src/plugins/debugger/commonoptionspage.ui b/src/plugins/debugger/commonoptionspage.ui index 86e2c4c2212..9315c6d2599 100644 --- a/src/plugins/debugger/commonoptionspage.ui +++ b/src/plugins/debugger/commonoptionspage.ui @@ -14,24 +14,24 @@ <item> <widget class="QGroupBox" name="behaviorBox"> <property name="title"> - <string>GUI Behavior</string> + <string>Behavior</string> </property> <layout class="QGridLayout" name="gridLayout_2"> - <item row="0" column="0" colspan="2"> + <item row="1" 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="1" column="0" colspan="2"> + <item row="2" 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="2" column="0" colspan="2"> + <item row="3" 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> @@ -41,7 +41,7 @@ </property> </widget> </item> - <item row="3" column="0" colspan="2"> + <item row="4" column="0" colspan="2"> <widget class="QCheckBox" name="checkBoxRegisterForPostMortem"> <property name="toolTip"> <string>Register Qt Creator for debugging crashed applications.</string> @@ -51,7 +51,7 @@ </property> </widget> </item> - <item row="4" column="0" colspan="2"> + <item row="5" column="0" colspan="2"> <widget class="QCheckBox" name="checkBoxCloseBuffersOnExit"> <property name="toolTip"> <string>Close temporary buffers on debugger exit.</string> @@ -61,7 +61,7 @@ </property> </widget> </item> - <item row="5" column="0" colspan="2"> + <item row="6" column="0" colspan="2"> <widget class="QCheckBox" name="checkBoxSwitchModeOnExit"> <property name="toolTip"> <string>Switch to previous mode on debugger exit.</string> @@ -71,7 +71,7 @@ </property> </widget> </item> - <item row="6" column="0"> + <item row="7" column="0"> <widget class="QLabel" name="labelMaximalStackDepth"> <property name="sizePolicy"> <sizepolicy hsizetype="Maximum" vsizetype="Preferred"> @@ -84,7 +84,7 @@ </property> </widget> </item> - <item row="6" column="1"> + <item row="7" column="1"> <layout class="QHBoxLayout" name="horizontalLayout"> <item> <widget class="QSpinBox" name="spinBoxMaximalStackDepth"> @@ -129,6 +129,18 @@ </layout> </widget> </item> + <item> + <widget class="QGroupBox" name="groupBox"> + <property name="title"> + <string>External Debuggers</string> + </property> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <widget class="Debugger::Internal::DebuggerChooserWidget" name="debuggerChooserWidget" native="true"/> + </item> + </layout> + </widget> + </item> <item> <spacer name="verticalSpacer"> <property name="orientation"> @@ -144,6 +156,13 @@ </item> </layout> </widget> + <customwidgets> + <customwidget> + <class>Debugger::Internal::DebuggerChooserWidget</class> + <extends>QWidget</extends> + <header>debuggerchooserwidget.h</header> + </customwidget> + </customwidgets> <resources/> <connections/> </ui> diff --git a/src/plugins/debugger/debugger.pro b/src/plugins/debugger/debugger.pro index a8bde89adc4..f58c1eee987 100644 --- a/src/plugins/debugger/debugger.pro +++ b/src/plugins/debugger/debugger.pro @@ -24,6 +24,7 @@ HEADERS += breakhandler.h \ consolewindow.h \ debugger_global.h \ debuggeractions.h \ + debuggerchooserwidget.h \ debuggercore.h \ debuggerconstants.h \ debuggerdialogs.h \ @@ -70,6 +71,7 @@ SOURCES += breakhandler.cpp \ commonoptionspage.cpp \ consolewindow.cpp \ debuggeractions.cpp \ + debuggerchooserwidget.cpp \ debuggerdialogs.cpp \ debuggerengine.cpp \ debuggermainwindow.cpp \ diff --git a/src/plugins/debugger/gdb/gdbchooserwidget.cpp b/src/plugins/debugger/debuggerchooserwidget.cpp similarity index 72% rename from src/plugins/debugger/gdb/gdbchooserwidget.cpp rename to src/plugins/debugger/debuggerchooserwidget.cpp index 283f2972229..51e8da66df9 100644 --- a/src/plugins/debugger/gdb/gdbchooserwidget.cpp +++ b/src/plugins/debugger/debuggerchooserwidget.cpp @@ -31,31 +31,33 @@ ** **************************************************************************/ -#include "gdbchooserwidget.h" +#include "debuggerchooserwidget.h" -#include <utils/pathchooser.h> -#include <projectexplorer/toolchain.h> #include <coreplugin/coreconstants.h> +#include <projectexplorer/toolchain.h> + +#include <utils/pathchooser.h> #include <utils/qtcassert.h> -#include <QtGui/QTreeView> -#include <QtGui/QStandardItemModel> -#include <QtGui/QStandardItem> -#include <QtGui/QToolButton> +#include <QtCore/QDir> +#include <QtCore/QFileInfo> +#include <QtCore/QProcess> +#include <QtCore/QSet> + +#include <QtGui/QCheckBox> +#include <QtGui/QDialogButtonBox> #include <QtGui/QFormLayout> -#include <QtGui/QVBoxLayout> +#include <QtGui/QGroupBox> #include <QtGui/QHBoxLayout> -#include <QtGui/QDialogButtonBox> +#include <QtGui/QIcon> #include <QtGui/QMessageBox> #include <QtGui/QPushButton> -#include <QtGui/QIcon> -#include <QtGui/QGroupBox> -#include <QtGui/QCheckBox> -#include <QtCore/QSet> -#include <QtCore/QDir> -#include <QtCore/QFileInfo> -#include <QtCore/QProcess> +#include <QtGui/QStandardItem> +#include <QtGui/QStandardItemModel> +#include <QtGui/QToolButton> +#include <QtGui/QTreeView> +#include <QtGui/QVBoxLayout> enum Columns { abiColumn, binaryColumn, ColumnCount }; @@ -66,18 +68,19 @@ namespace Internal { // ----------------------------------------------- -// Obtain a tooltip for a gdb binary by running --version -static inline QString gdbToolTip(const QString &binary) +// Obtain a tooltip for a debugger binary by running --version +static QString debuggerToolTip(const QString &binary) { if (binary.isEmpty()) return QString(); if (!QFileInfo(binary).exists()) - return GdbChooserWidget::tr("File not found."); + return DebuggerChooserWidget::tr("File not found."); QProcess process; process.start(binary, QStringList(QLatin1String("--version"))); process.closeWriteChannel(); if (!process.waitForStarted()) - return GdbChooserWidget::tr("Unable to run '%1': %2").arg(binary, process.errorString()); + return DebuggerChooserWidget::tr("Unable to run '%1': %2") + .arg(binary, process.errorString()); process.waitForFinished(); // That should never fail QString rc = QDir::toNativeSeparators(binary); rc += QLatin1String("\n\n"); @@ -86,19 +89,20 @@ static inline QString gdbToolTip(const QString &binary) return rc; } -// GdbBinaryModel: Show gdb binaries and associated toolchains as a list. -// Provides a delayed tooltip listing the gdb version as +// DebuggerBinaryModel: Show toolchains and associated debugger binaries. +// Provides a delayed tooltip listing the debugger version as // obtained by running it. Provides conveniences for getting/setting the maps and // for listing the toolchains used and the ones still available. -class GdbBinaryModel : public QStandardItemModel { +class DebuggerBinaryModel : public QStandardItemModel +{ public: - explicit GdbBinaryModel(QObject * parent = 0); + explicit DebuggerBinaryModel(QObject *parent = 0); QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; bool setData(const QModelIndex &index, const QVariant &value, int role); // get / set data as map. - QMap<QString, QString> gdbMapping() const; - void setGdbMapping(const QMap<QString, QString> &m); + QMap<QString, QString> debuggerMapping() const; + void setDebuggerMapping(const QMap<QString, QString> &m); QString binary(int row) const; QString abi(int row) const; @@ -111,23 +115,24 @@ public: static void setBinaryItem(QStandardItem *item, const QString &binary); }; -GdbBinaryModel::GdbBinaryModel(QObject *parent) : +DebuggerBinaryModel::DebuggerBinaryModel(QObject *parent) : QStandardItemModel(0, ColumnCount, parent) { QStringList headers; - headers << GdbChooserWidget::tr("ABI") << GdbChooserWidget::tr("Debugger"); + headers.append(DebuggerChooserWidget::tr("ABI")); + headers.append(DebuggerChooserWidget::tr("Debugger")); setHorizontalHeaderLabels(headers); } -QVariant GdbBinaryModel::data(const QModelIndex &index, int role) const +QVariant DebuggerBinaryModel::data(const QModelIndex &index, int role) const { if (index.isValid() && role == Qt::ToolTipRole) { // Is there a tooltip set? const QString itemToolTip = itemFromIndex(index)->toolTip(); if (!itemToolTip.isEmpty()) return QVariant(itemToolTip); - // Run the gdb and obtain the tooltip - const QString tooltip = gdbToolTip(binary(index.row())); + // Run the debugger and obtain the tooltip + const QString tooltip = debuggerToolTip(binary(index.row())); // Set on the whole row item(index.row(), abiColumn)->setToolTip(tooltip); item(index.row(), binaryColumn)->setToolTip(tooltip); @@ -136,7 +141,7 @@ QVariant GdbBinaryModel::data(const QModelIndex &index, int role) const return QStandardItemModel::data(index, role); } -bool GdbBinaryModel::setData(const QModelIndex &index, const QVariant &value, int role) +bool DebuggerBinaryModel::setData(const QModelIndex &index, const QVariant &value, int role) { if (index.isValid() && role == Qt::EditRole) { Q_ASSERT(index.column() == binaryColumn); @@ -150,7 +155,7 @@ bool GdbBinaryModel::setData(const QModelIndex &index, const QVariant &value, in return QStandardItemModel::setData(index, value, role); } -QMap<QString, QString> GdbBinaryModel::gdbMapping() const +QMap<QString, QString> DebuggerBinaryModel::debuggerMapping() const { QMap<QString, QString> rc; const int binaryCount = rowCount(); @@ -159,24 +164,25 @@ QMap<QString, QString> GdbBinaryModel::gdbMapping() const return rc; } -void GdbBinaryModel::setGdbMapping(const QMap<QString, QString> &m) +void DebuggerBinaryModel::setDebuggerMapping(const QMap<QString, QString> &m) { removeRows(0, rowCount()); for (QMap<QString, QString>::const_iterator i = m.constBegin(); i != m.constEnd(); ++i) append(i.key(), i.value()); } -QString GdbBinaryModel::binary(int row) const +QString DebuggerBinaryModel::binary(int row) const { - return QDir::fromNativeSeparators(item(row, binaryColumn)->data(Qt::DisplayRole).toString()); + return QDir::fromNativeSeparators( + item(row, binaryColumn)->data(Qt::DisplayRole).toString()); } -QString GdbBinaryModel::abi(int row) const +QString DebuggerBinaryModel::abi(int row) const { return item(row, abiColumn)->data(Qt::DisplayRole).toString(); } -void GdbBinaryModel::setBinaryItem(QStandardItem *item, const QString &binary) +void DebuggerBinaryModel::setBinaryItem(QStandardItem *item, const QString &binary) { item->setText(binary.isEmpty() ? QString() : QDir::toNativeSeparators(binary)); item->setToolTip(QString());; // clean out delayed tooltip @@ -184,26 +190,26 @@ void GdbBinaryModel::setBinaryItem(QStandardItem *item, const QString &binary) item->setData(false); } -void GdbBinaryModel::setAbiItem(QStandardItem *item, const QString &abi) +void DebuggerBinaryModel::setAbiItem(QStandardItem *item, const QString &abi) { item->setText(abi); item->setToolTip(QString()); // clean out delayed tooltip item->setFlags(Qt::ItemIsEnabled|Qt::ItemIsSelectable); } -void GdbBinaryModel::append(const QString &abi, const QString &binary) +void DebuggerBinaryModel::append(const QString &abi, const QString &binary) { QStandardItem *binaryItem = new QStandardItem; QStandardItem *abiItem = new QStandardItem; - GdbBinaryModel::setAbiItem(abiItem, abi); - GdbBinaryModel::setBinaryItem(binaryItem, binary); + DebuggerBinaryModel::setAbiItem(abiItem, abi); + DebuggerBinaryModel::setBinaryItem(binaryItem, binary); StandardItemList row; row << abiItem << binaryItem; appendRow(row); } -bool GdbBinaryModel::isDirty() const +bool DebuggerBinaryModel::isDirty() const { for (int i = 0; i < rowCount(); ++i) { if (item(i, binaryColumn)->data().toBool()) @@ -212,11 +218,11 @@ bool GdbBinaryModel::isDirty() const return false; } -// ----------- GdbChooserWidget -GdbChooserWidget::GdbChooserWidget(QWidget *parent) : +// ----------- DebuggerChooserWidget +DebuggerChooserWidget::DebuggerChooserWidget(QWidget *parent) : QWidget(parent), m_treeView(new QTreeView), - m_model(new GdbBinaryModel(m_treeView)) + m_model(new DebuggerBinaryModel(m_treeView)) { QVBoxLayout *layout = new QVBoxLayout(this); m_treeView->setRootIsDecorated(false); @@ -227,19 +233,19 @@ GdbChooserWidget::GdbChooserWidget(QWidget *parent) : layout->addWidget(m_treeView); } -QMap<QString, QString> GdbChooserWidget::gdbMapping() const +QMap<QString, QString> DebuggerChooserWidget::debuggerMapping() const { - return m_model->gdbMapping(); + return m_model->debuggerMapping(); } -void GdbChooserWidget::setGdbMapping(const QMap<QString, QString> &m) +void DebuggerChooserWidget::setDebuggerMapping(const QMap<QString, QString> &m) { - m_model->setGdbMapping(m); + m_model->setDebuggerMapping(m); for (int c = 0; c < ColumnCount; c++) m_treeView->resizeColumnToContents(c); } -bool GdbChooserWidget::isDirty() const +bool DebuggerChooserWidget::isDirty() const { return m_model->isDirty(); } diff --git a/src/plugins/debugger/gdb/gdbchooserwidget.h b/src/plugins/debugger/debuggerchooserwidget.h similarity index 76% rename from src/plugins/debugger/gdb/gdbchooserwidget.h rename to src/plugins/debugger/debuggerchooserwidget.h index 45f20eacb51..0c0db301239 100644 --- a/src/plugins/debugger/gdb/gdbchooserwidget.h +++ b/src/plugins/debugger/debuggerchooserwidget.h @@ -31,8 +31,8 @@ ** **************************************************************************/ -#ifndef GDBCHOOSERWIDGET_H -#define GDBCHOOSERWIDGET_H +#ifndef DEGUBBER_DEBUGGERCHOOSERWIDGET_H +#define DEGUBBER_DEBUGGERCHOOSERWIDGET_H #include <QtCore/QMultiMap> #include <QtGui/QDialog> @@ -55,20 +55,20 @@ namespace Utils { namespace Debugger { namespace Internal { -class GdbBinaryModel; +class DebuggerBinaryModel; -/* GdbChooserWidget: Shows a list of gdb binary and associated toolchains with - * 'add' and 'remove' buttons. Provides delayed tooltip showing version information. - * Based on a multimap of binaries to toolchain. */ +/* DebuggerChooserWidget: Shows a list of toolchains and associated debugger + * binaries together with 'add' and 'remove' buttons. + * Provides delayed tooltip showing version information. */ -class GdbChooserWidget : public QWidget +class DebuggerChooserWidget : public QWidget { Q_OBJECT public: - explicit GdbChooserWidget(QWidget *parent = 0); + explicit DebuggerChooserWidget(QWidget *parent = 0); - QMap<QString, QString> gdbMapping() const; - void setGdbMapping(const QMap<QString, QString> &m); + QMap<QString, QString> debuggerMapping() const; + void setDebuggerMapping(const QMap<QString, QString> &m); bool isDirty() const; @@ -77,10 +77,10 @@ private: QToolButton *createAddToolMenuButton(); QTreeView *m_treeView; - GdbBinaryModel *m_model; + DebuggerBinaryModel *m_model; }; } // namespace Internal } // namespace Debugger -#endif // GDBCHOOSERWIDGET_H +#endif // DEGUBBER_DEBUGGERCHOOSERWIDGET_H diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp index b0e278f1842..018dc64cbbd 100644 --- a/src/plugins/debugger/debuggerrunner.cpp +++ b/src/plugins/debugger/debuggerrunner.cpp @@ -92,7 +92,7 @@ extern QString msgNoBinaryForToolChain(const ProjectExplorer::Abi &abi); static QString msgEngineNotAvailable(const char *engine) { return DebuggerPlugin::tr("The application requires the debugger engine '%1', " - "which is disabled.").arg(QLatin1String(engine)); + "which is disabled.").arg(_(engine)); } //////////////////////////////////////////////////////////////////////// @@ -338,7 +338,7 @@ DebuggerRunControl::DebuggerRunControl(RunConfiguration *runConfiguration, const QString msg = tr("Cannot debug '%1' (binary format: '%2'): %3") .arg(sp.executable, sp.toolChainAbi.toString(), d->m_errorMessage); Core::ICore::instance()->showWarningWithOptions(tr("Warning"), - msg, QString(), QLatin1String(Constants::DEBUGGER_SETTINGS_CATEGORY), + msg, QString(), _(Constants::DEBUGGER_SETTINGS_CATEGORY), d->m_settingsIdHint); } } @@ -384,18 +384,18 @@ ConfigurationCheck checkDebugConfiguration(const ProjectExplorer::Abi &abi) if (debuggerCore()->debuggerForAbi(abi).isEmpty()) { result.errorMessage = msgNoBinaryForToolChain(abi); result.errorMessage += QLatin1Char(' ') + msgEngineNotAvailable("Gdb"); - //result.settingsPage = GdbOptionsPage::settingsId(); + result.settingsPage = _(Constants::DEBUGGER_COMMON_SETTINGS_ID); } } else if (abi.binaryFormat() == Abi::Format_PE && abi.osFlavor() != Abi::Windows_msys) { result = checkCdbConfiguration(abi); if (!result) { result.errorMessage += msgEngineNotAvailable("Cdb"); - result.settingsPage = QLatin1String("Cdb"); + result.settingsPage = _("Cdb"); } } if (!result && !result.settingsPage.isEmpty()) - result.settingsCategory = QLatin1String(Constants::DEBUGGER_SETTINGS_CATEGORY); + result.settingsCategory = _(Constants::DEBUGGER_SETTINGS_CATEGORY); return result; } @@ -521,8 +521,8 @@ static inline QString findQtInstallPath(const QString &qmakePath) { QProcess proc; QStringList args; - args.append(QLatin1String("-query")); - args.append(QLatin1String("QT_INSTALL_HEADERS")); + args.append(_("-query")); + args.append(_("QT_INSTALL_HEADERS")); proc.start(qmakePath, args); if (!proc.waitForStarted()) { qWarning("%s: Cannot start '%s': %s", Q_FUNC_INFO, qPrintable(qmakePath), @@ -565,7 +565,7 @@ static DebuggerStartParameters localStartParameters(RunConfiguration *runConfigu sp.dumperLibraryLocations = rc->dumperLibraryLocations(); if (debuggerCore()->isActiveDebugLanguage(QmlLanguage)) { - sp.qmlServerAddress = QLatin1String("127.0.0.1"); + sp.qmlServerAddress = _("127.0.0.1"); sp.qmlServerPort = runConfiguration->qmlDebugServerPort(); sp.projectDir = runConfiguration->target()->project()->projectDirectory(); @@ -575,11 +575,11 @@ static DebuggerStartParameters localStartParameters(RunConfiguration *runConfigu // Makes sure that all bindings go through the JavaScript engine, so that // breakpoints are actually hit! - if (!sp.environment.hasKey(QLatin1String("QML_DISABLE_OPTIMIZER"))) { - sp.environment.set(QLatin1String("QML_DISABLE_OPTIMIZER"), QLatin1String("1")); + if (!sp.environment.hasKey(_("QML_DISABLE_OPTIMIZER"))) { + sp.environment.set(_("QML_DISABLE_OPTIMIZER"), _("1")); } - Utils::QtcProcess::addArg(&sp.processArgs, QLatin1String("-qmljsdebugger=port:") + Utils::QtcProcess::addArg(&sp.processArgs, _("-qmljsdebugger=port:") + QString::number(sp.qmlServerPort)); } diff --git a/src/plugins/debugger/gdb/gdb.pri b/src/plugins/debugger/gdb/gdb.pri index 22cb395a539..821674030e4 100644 --- a/src/plugins/debugger/gdb/gdb.pri +++ b/src/plugins/debugger/gdb/gdb.pri @@ -2,7 +2,6 @@ HEADERS += \ $$PWD/gdbmi.h \ $$PWD/gdbengine.h \ $$PWD/gdboptionspage.h \ - $$PWD/gdbchooserwidget.h \ $$PWD/abstractgdbadapter.h \ $$PWD/attachgdbadapter.h \ $$PWD/coregdbadapter.h \ @@ -25,7 +24,6 @@ SOURCES += \ $$PWD/classicgdbengine.cpp \ $$PWD/pythongdbengine.cpp \ $$PWD/gdboptionspage.cpp \ - $$PWD/gdbchooserwidget.cpp \ $$PWD/abstractgdbadapter.cpp \ $$PWD/attachgdbadapter.cpp \ $$PWD/coregdbadapter.cpp \ diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index c410146dfbd..e627cb0f12a 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -4219,7 +4219,7 @@ bool GdbEngine::startGdb(const QStringList &args, const QString &gdb, if (m_gdb.isEmpty()) { handleAdapterStartFailed( msgNoBinaryForToolChain(sp.toolChainAbi), - GdbOptionsPage::settingsId()); + _(Constants::DEBUGGER_COMMON_SETTINGS_ID)); return false; } QStringList gdbArgs; diff --git a/src/plugins/debugger/gdb/gdboptionspage.ui b/src/plugins/debugger/gdb/gdboptionspage.ui index 918f2df85d1..ccd3184740e 100644 --- a/src/plugins/debugger/gdb/gdboptionspage.ui +++ b/src/plugins/debugger/gdb/gdboptionspage.ui @@ -21,10 +21,7 @@ <property name="margin"> <number>9</number> </property> - <item row="0" column="0" colspan="2"> - <widget class="Debugger::Internal::GdbChooserWidget" name="gdbChooserWidget" native="true"/> - </item> - <item row="1" column="0"> + <item row="0" column="0"> <widget class="QLabel" name="labelGdbStartupScript"> <property name="toolTip"> <string>This is either empty or points to a file containing gdb commands that will be executed immediately after gdb starts up.</string> @@ -34,17 +31,17 @@ </property> </widget> </item> - <item row="1" column="1"> + <item row="0" column="1"> <widget class="Utils::PathChooser" name="scriptFileChooser"/> </item> - <item row="2" column="0"> + <item row="1" column="0"> <widget class="QLabel" name="labelGdbWatchdogTimeout"> <property name="text"> <string>Gdb timeout:</string> </property> </widget> </item> - <item row="2" column="1"> + <item row="1" column="1"> <widget class="QSpinBox" name="spinBoxGdbWatchdogTimeout"> <property name="toolTip"> <string>This is the number of seconds Qt Creator will wait before @@ -70,14 +67,14 @@ on slow machines. In this case, the value should be increased.</string> </property> </widget> </item> - <item row="3" column="0" colspan="2"> + <item row="2" column="0" colspan="2"> <widget class="QCheckBox" name="checkBoxEnableReverseDebugging"> <property name="text"> <string>Enable reverse debugging</string> </property> </widget> </item> - <item row="4" column="0" colspan="2"> + <item row="3" 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 @@ -88,28 +85,28 @@ on slow machines. In this case, the value should be increased.</string> </property> </widget> </item> - <item row="5" column="0" colspan="2"> + <item row="4" 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="6" column="0" colspan="2"> + <item row="5" column="0" colspan="2"> <widget class="QCheckBox" name="checkBoxAdjustBreakpointLocations"> <property name="text"> <string>Adjust breakpoint locations</string> </property> </widget> </item> - <item row="7" column="0" colspan="2"> + <item row="6" column="0" colspan="2"> <widget class="QCheckBox" name="checkBoxLoadGdbInit"> <property name="text"> <string>Load .gdbinit file on startup</string> </property> </widget> </item> - <item row="8" column="0" colspan="2"> + <item row="7" column="0" colspan="2"> <widget class="QCheckBox" name="checkBoxTargetAsync"> <property name="text"> <string>Use asynchronous mode to control the inferior</string> -- GitLab