diff --git a/src/plugins/debugger/commonoptionspage.cpp b/src/plugins/debugger/commonoptionspage.cpp index 644fdabbda6..2f510a4184f 100644 --- a/src/plugins/debugger/commonoptionspage.cpp +++ b/src/plugins/debugger/commonoptionspage.cpp @@ -30,9 +30,12 @@ #include "debuggercore.h" #include +#include + #include -#include +#include #include +#include #include #include @@ -40,6 +43,7 @@ #include #include #include +#include #include using namespace Core; @@ -307,6 +311,25 @@ QWidget *LocalsAndExpressionsOptionsPage::widget() "std::map in the "Locals and Expressions" view. ") + QLatin1String("

")); + auto groupBoxCustomDumperCommands = new QGroupBox(debuggingHelperGroupBox); + groupBoxCustomDumperCommands->setTitle(tr("Debugging Helper Customization")); + groupBoxCustomDumperCommands->setToolTip(tr( + "

Python commands entered here will be executed after Qt Creator's " + "debugging helpers have been loaded and fully initialized. You can load additional " + "debugging helpers or modify existing ones here.

")); + + auto textEditCustomDumperCommands = new QTextEdit(groupBoxCustomDumperCommands); + textEditCustomDumperCommands->setAcceptRichText(false); + textEditCustomDumperCommands->setToolTip(groupBoxCustomDumperCommands->toolTip()); + + auto groupBoxExtraDumperFile = new QGroupBox(debuggingHelperGroupBox); + groupBoxExtraDumperFile->setTitle(tr("Extra Debugging Helpers")); + groupBoxExtraDumperFile->setToolTip(tr( + "Path to a Python file containing additional data dumpers.")); + + auto pathChooserExtraDumperFile = new Utils::PathChooser(groupBoxExtraDumperFile); + pathChooserExtraDumperFile->setExpectedKind(Utils::PathChooser::File); + auto checkBoxUseCodeModel = new QCheckBox(debuggingHelperGroupBox); auto checkBoxShowThreadNames = new QCheckBox(debuggingHelperGroupBox); auto checkBoxShowStdNamespace = new QCheckBox(m_widget); @@ -325,10 +348,16 @@ QWidget *LocalsAndExpressionsOptionsPage::widget() spinBoxDisplayStringLimit->setSingleStep(10); spinBoxDisplayStringLimit->setValue(100); - auto verticalLayout = new QVBoxLayout(debuggingHelperGroupBox); - verticalLayout->addWidget(label); - verticalLayout->addWidget(checkBoxUseCodeModel); - verticalLayout->addWidget(checkBoxShowThreadNames); + auto chooser = new VariableChooser(m_widget); + chooser->addSupportedWidget(textEditCustomDumperCommands); + chooser->addSupportedWidget(pathChooserExtraDumperFile->lineEdit()); + + auto gridLayout = new QGridLayout(debuggingHelperGroupBox); + gridLayout->addWidget(label, 0, 0, 1, 1); + gridLayout->addWidget(checkBoxUseCodeModel, 1, 0, 1, 1); + gridLayout->addWidget(checkBoxShowThreadNames, 2, 0, 1, 1); + gridLayout->addWidget(groupBoxExtraDumperFile, 3, 0, 1, 1); + gridLayout->addWidget(groupBoxCustomDumperCommands, 0, 1, 4, 1); auto layout1 = new QFormLayout; layout1->addItem(new QSpacerItem(10, 10)); @@ -348,8 +377,16 @@ QWidget *LocalsAndExpressionsOptionsPage::widget() layout->addLayout(lowerLayout); layout->addStretch(); + auto customDumperLayout = new QGridLayout(groupBoxCustomDumperCommands); + customDumperLayout->addWidget(textEditCustomDumperCommands, 0, 0, 1, 1); + + auto extraDumperLayout = new QGridLayout(groupBoxExtraDumperFile); + extraDumperLayout->addWidget(pathChooserExtraDumperFile, 0, 0, 1, 1); + m_group.clear(); m_group.insert(action(UseDebuggingHelpers), debuggingHelperGroupBox); + m_group.insert(action(ExtraDumperFile), pathChooserExtraDumperFile); + m_group.insert(action(ExtraDumperCommands), textEditCustomDumperCommands); m_group.insert(action(UseCodeModel), checkBoxUseCodeModel); m_group.insert(action(ShowThreadNames), checkBoxShowThreadNames); m_group.insert(action(ShowStdNamespace), checkBoxShowStdNamespace); diff --git a/src/plugins/debugger/gdb/gdboptionspage.cpp b/src/plugins/debugger/gdb/gdboptionspage.cpp index 2a29e5a498a..391a7987827 100644 --- a/src/plugins/debugger/gdb/gdboptionspage.cpp +++ b/src/plugins/debugger/gdb/gdboptionspage.cpp @@ -193,26 +193,6 @@ GdbOptionsPageWidget::GdbOptionsPageWidget() textEditPostAttachCommands->setAcceptRichText(false); textEditPostAttachCommands->setToolTip(groupBoxPostAttachCommands->toolTip()); - auto groupBoxCustomDumperCommands = new QGroupBox(this); - groupBoxCustomDumperCommands->setTitle(GdbOptionsPage::tr("Debugging Helper Customization")); - groupBoxCustomDumperCommands->setToolTip(GdbOptionsPage::tr( - "

GDB commands entered here will be executed after " - "Qt Creator's debugging helpers have been loaded and fully initialized. " - "You can load additional debugging helpers or modify existing ones here.

" - "%1").arg(howToUsePython)); - - auto textEditCustomDumperCommands = new QTextEdit(groupBoxCustomDumperCommands); - textEditCustomDumperCommands->setAcceptRichText(false); - textEditCustomDumperCommands->setToolTip(groupBoxCustomDumperCommands->toolTip()); - - auto groupBoxExtraDumperFile = new QGroupBox(this); - groupBoxExtraDumperFile->setTitle(GdbOptionsPage::tr("Extra Debugging Helpers")); - groupBoxExtraDumperFile->setToolTip(GdbOptionsPage::tr( - "Path to a Python file containing additional data dumpers.")); - - auto pathChooserExtraDumperFile = new Utils::PathChooser(groupBoxExtraDumperFile); - pathChooserExtraDumperFile->setExpectedKind(Utils::PathChooser::File); - /* groupBoxPluginDebugging = new QGroupBox(q); groupBoxPluginDebugging->setTitle(GdbOptionsPage::tr( @@ -240,10 +220,8 @@ GdbOptionsPageWidget::GdbOptionsPageWidget() */ auto chooser = new VariableChooser(this); - chooser->addSupportedWidget(textEditCustomDumperCommands); chooser->addSupportedWidget(textEditPostAttachCommands); chooser->addSupportedWidget(textEditStartupCommands); - chooser->addSupportedWidget(pathChooserExtraDumperFile->lineEdit()); auto formLayout = new QFormLayout(groupBoxGeneral); formLayout->addRow(labelGdbWatchdogTimeout, spinBoxGdbWatchdogTimeout); @@ -262,23 +240,13 @@ GdbOptionsPageWidget::GdbOptionsPageWidget() auto postAttachLayout = new QGridLayout(groupBoxPostAttachCommands); postAttachLayout->addWidget(textEditPostAttachCommands, 0, 0, 1, 1); - auto customDumperLayout = new QGridLayout(groupBoxCustomDumperCommands); - customDumperLayout->addWidget(textEditCustomDumperCommands, 0, 0, 1, 1); - - auto extraDumperLayout = new QGridLayout(groupBoxExtraDumperFile); - extraDumperLayout->addWidget(pathChooserExtraDumperFile, 0, 0, 1, 1); - auto gridLayout = new QGridLayout(this); gridLayout->addWidget(groupBoxGeneral, 0, 0, 5, 1); - gridLayout->addWidget(groupBoxExtraDumperFile, 5, 0, 1, 1); gridLayout->addWidget(groupBoxStartupCommands, 0, 1, 2, 1); gridLayout->addWidget(groupBoxPostAttachCommands, 2, 1, 2, 1); - gridLayout->addWidget(groupBoxCustomDumperCommands, 4, 1, 2, 1); group.insert(action(GdbStartupCommands), textEditStartupCommands); - group.insert(action(ExtraDumperFile), pathChooserExtraDumperFile); - group.insert(action(ExtraDumperCommands), textEditCustomDumperCommands); group.insert(action(GdbPostAttachCommands), textEditPostAttachCommands); group.insert(action(LoadGdbInit), checkBoxLoadGdbInit); group.insert(action(LoadGdbDumpers), checkBoxLoadGdbDumpers);