From fb36cb99f9be4864d55da38d8b0977cc25915a53 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 21 Jun 2022 17:20:39 +0200 Subject: [PATCH] TextEditor: Inline behaviorsettingspage.ui Less code, indirections and allocations. Change-Id: I41011f90255a035eabe8f755fed6213f8f773a7e Reviewed-by: Reviewed-by: David Schulz --- src/plugins/texteditor/CMakeLists.txt | 2 +- .../texteditor/behaviorsettingspage.cpp | 60 ++++++++++--------- .../texteditor/behaviorsettingspage.ui | 45 -------------- src/plugins/texteditor/texteditor.qbs | 1 - 4 files changed, 33 insertions(+), 75 deletions(-) delete mode 100644 src/plugins/texteditor/behaviorsettingspage.ui diff --git a/src/plugins/texteditor/CMakeLists.txt b/src/plugins/texteditor/CMakeLists.txt index caaa4846b7f..73b52c8bc96 100644 --- a/src/plugins/texteditor/CMakeLists.txt +++ b/src/plugins/texteditor/CMakeLists.txt @@ -13,7 +13,7 @@ add_qtc_plugin(TextEditor basefilefind.cpp basefilefind.h basehoverhandler.cpp basehoverhandler.h behaviorsettings.cpp behaviorsettings.h - behaviorsettingspage.cpp behaviorsettingspage.h behaviorsettingspage.ui + behaviorsettingspage.cpp behaviorsettingspage.h behaviorsettingswidget.cpp behaviorsettingswidget.h behaviorsettingswidget.ui blockrange.h circularclipboard.cpp circularclipboard.h diff --git a/src/plugins/texteditor/behaviorsettingspage.cpp b/src/plugins/texteditor/behaviorsettingspage.cpp index f1c25b45470..d38c2926d36 100644 --- a/src/plugins/texteditor/behaviorsettingspage.cpp +++ b/src/plugins/texteditor/behaviorsettingspage.cpp @@ -26,15 +26,15 @@ #include "behaviorsettingspage.h" #include "behaviorsettings.h" -#include "typingsettings.h" +#include "behaviorsettingswidget.h" +#include "codestylepool.h" +#include "extraencodingsettings.h" +#include "simplecodestylepreferences.h" #include "storagesettings.h" #include "tabsettings.h" -#include "extraencodingsettings.h" -#include "ui_behaviorsettingspage.h" -#include "simplecodestylepreferences.h" #include "texteditorconstants.h" -#include "codestylepool.h" #include "texteditorsettings.h" +#include "typingsettings.h" #include #include @@ -48,8 +48,10 @@ #include #include +#include #include #include +#include namespace TextEditor { @@ -59,7 +61,7 @@ struct BehaviorSettingsPage::BehaviorSettingsPagePrivate : public QObject const QString m_settingsPrefix{"text"}; QPointer m_widget; - Internal::Ui::BehaviorSettingsPage *m_page = nullptr; + TextEditor::BehaviorSettingsWidget *m_behaviorWidget = nullptr; CodeStylePool *m_defaultCodeStylePool = nullptr; SimpleCodeStylePreferences *m_codeStyle = nullptr; @@ -110,17 +112,23 @@ QWidget *BehaviorSettingsPage::widget() { if (!d->m_widget) { d->m_widget = new QWidget; - d->m_page = new Internal::Ui::BehaviorSettingsPage; - d->m_page->setupUi(d->m_widget); + d->m_behaviorWidget = new BehaviorSettingsWidget(d->m_widget); + + auto verticalSpacer = new QSpacerItem(20, 13, QSizePolicy::Minimum, QSizePolicy::Expanding); + + auto gridLayout = new QGridLayout(d->m_widget); if (Utils::HostOsInfo::isMacHost()) - d->m_page->gridLayout->setContentsMargins(-1, 0, -1, 0); // don't ask. + gridLayout->setContentsMargins(-1, 0, -1, 0); // don't ask. + gridLayout->addWidget(d->m_behaviorWidget, 0, 0, 1, 1); + gridLayout->addItem(verticalSpacer, 1, 0, 1, 1); + d->m_pageCodeStyle = new SimpleCodeStylePreferences(d->m_widget); d->m_pageCodeStyle->setDelegatingPool(d->m_codeStyle->delegatingPool()); d->m_pageCodeStyle->setTabSettings(d->m_codeStyle->tabSettings()); d->m_pageCodeStyle->setCurrentDelegate(d->m_codeStyle->currentDelegate()); - d->m_page->behaviorWidget->setCodeStyle(d->m_pageCodeStyle); + d->m_behaviorWidget->setCodeStyle(d->m_pageCodeStyle); - TabSettingsWidget *tabSettingsWidget = d->m_page->behaviorWidget->tabSettingsWidget(); + TabSettingsWidget *tabSettingsWidget = d->m_behaviorWidget->tabSettingsWidget(); tabSettingsWidget->setCodingStyleWarningVisible(true); connect(tabSettingsWidget, &TabSettingsWidget::codingStyleLinkClicked, this, &BehaviorSettingsPage::openCodingStylePreferences); @@ -132,7 +140,7 @@ QWidget *BehaviorSettingsPage::widget() void BehaviorSettingsPage::apply() { - if (!d->m_page) // page was never shown + if (!d->m_behaviorWidget) // page was never shown return; TypingSettings newTypingSettings; @@ -185,9 +193,9 @@ void BehaviorSettingsPage::apply() } s->setValue(QLatin1String(Core::Constants::SETTINGS_DEFAULTTEXTENCODING), - d->m_page->behaviorWidget->assignedCodecName()); + d->m_behaviorWidget->assignedCodecName()); s->setValue(QLatin1String(Core::Constants::SETTINGS_DEFAULT_LINE_TERMINATOR), - d->m_page->behaviorWidget->assignedLineEnding()); + d->m_behaviorWidget->assignedLineEnding()); } void BehaviorSettingsPage::settingsFromUI(TypingSettings *typingSettings, @@ -195,29 +203,25 @@ void BehaviorSettingsPage::settingsFromUI(TypingSettings *typingSettings, BehaviorSettings *behaviorSettings, ExtraEncodingSettings *extraEncodingSettings) const { - d->m_page->behaviorWidget->assignedTypingSettings(typingSettings); - d->m_page->behaviorWidget->assignedStorageSettings(storageSettings); - d->m_page->behaviorWidget->assignedBehaviorSettings(behaviorSettings); - d->m_page->behaviorWidget->assignedExtraEncodingSettings(extraEncodingSettings); + d->m_behaviorWidget->assignedTypingSettings(typingSettings); + d->m_behaviorWidget->assignedStorageSettings(storageSettings); + d->m_behaviorWidget->assignedBehaviorSettings(behaviorSettings); + d->m_behaviorWidget->assignedExtraEncodingSettings(extraEncodingSettings); } void BehaviorSettingsPage::settingsToUI() { - d->m_page->behaviorWidget->setAssignedTypingSettings(d->m_typingSettings); - d->m_page->behaviorWidget->setAssignedStorageSettings(d->m_storageSettings); - d->m_page->behaviorWidget->setAssignedBehaviorSettings(d->m_behaviorSettings); - d->m_page->behaviorWidget->setAssignedExtraEncodingSettings(d->m_extraEncodingSettings); - d->m_page->behaviorWidget->setAssignedCodec(Core::EditorManager::defaultTextCodec()); - d->m_page->behaviorWidget->setAssignedLineEnding(Core::EditorManager::defaultLineEnding()); + d->m_behaviorWidget->setAssignedTypingSettings(d->m_typingSettings); + d->m_behaviorWidget->setAssignedStorageSettings(d->m_storageSettings); + d->m_behaviorWidget->setAssignedBehaviorSettings(d->m_behaviorSettings); + d->m_behaviorWidget->setAssignedExtraEncodingSettings(d->m_extraEncodingSettings); + d->m_behaviorWidget->setAssignedCodec(Core::EditorManager::defaultTextCodec()); + d->m_behaviorWidget->setAssignedLineEnding(Core::EditorManager::defaultLineEnding()); } void BehaviorSettingsPage::finish() { delete d->m_widget; - if (!d->m_page) // page was never shown - return; - delete d->m_page; - d->m_page = nullptr; } ICodeStylePreferences *BehaviorSettingsPage::codeStyle() const diff --git a/src/plugins/texteditor/behaviorsettingspage.ui b/src/plugins/texteditor/behaviorsettingspage.ui deleted file mode 100644 index 44fcf405dc2..00000000000 --- a/src/plugins/texteditor/behaviorsettingspage.ui +++ /dev/null @@ -1,45 +0,0 @@ - - - TextEditor::Internal::BehaviorSettingsPage - - - - 0 - 0 - 432 - 50 - - - - - - - - - - - - - Qt::Vertical - - - - 20 - 13 - - - - - - - - - TextEditor::BehaviorSettingsWidget - QWidget -
texteditor/behaviorsettingswidget.h
- 1 -
-
- - -
diff --git a/src/plugins/texteditor/texteditor.qbs b/src/plugins/texteditor/texteditor.qbs index 896c9d515ef..b25d0ea222d 100644 --- a/src/plugins/texteditor/texteditor.qbs +++ b/src/plugins/texteditor/texteditor.qbs @@ -30,7 +30,6 @@ Project { "behaviorsettings.h", "behaviorsettingspage.cpp", "behaviorsettingspage.h", - "behaviorsettingspage.ui", "behaviorsettingswidget.cpp", "behaviorsettingswidget.h", "behaviorsettingswidget.ui",