diff options
author | hjk <hjk@qt.io> | 2020-01-21 15:20:02 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2020-01-22 11:34:05 +0000 |
commit | 8da309f6a58ebde6ded2a7603ee033cf999a34f3 (patch) | |
tree | 72f49d3421762edab2b9c8cb6a7e4a2228dd104b | |
parent | f5d4b65931d0bd80d19f573d5ee32eb6dd94045a (diff) |
TextEditor: Simplify DisplaySettingsPage creation
Change-Id: I082db19c8b88d1fa21690339d2cb7dc2728e0d44
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
-rw-r--r-- | src/plugins/texteditor/displaysettingspage.cpp | 32 | ||||
-rw-r--r-- | src/plugins/texteditor/displaysettingspage.h | 10 | ||||
-rw-r--r-- | src/plugins/texteditor/texteditorsettings.cpp | 16 |
3 files changed, 21 insertions, 37 deletions
diff --git a/src/plugins/texteditor/displaysettingspage.cpp b/src/plugins/texteditor/displaysettingspage.cpp index d2c07f08f6..58890c14c7 100644 --- a/src/plugins/texteditor/displaysettingspage.cpp +++ b/src/plugins/texteditor/displaysettingspage.cpp @@ -33,36 +33,32 @@ #include <coreplugin/icore.h> #include <QPointer> -#include <QTextStream> -using namespace TextEditor; +namespace TextEditor { struct DisplaySettingsPage::DisplaySettingsPagePrivate { - explicit DisplaySettingsPagePrivate(const DisplaySettingsPageParameters &p); + DisplaySettingsPagePrivate(); - const DisplaySettingsPageParameters m_parameters; QPointer<QWidget> m_widget; Internal::Ui::DisplaySettingsPage *m_page = nullptr; DisplaySettings m_displaySettings; MarginSettings m_marginSettings; + QString m_settingsPrefix; }; -DisplaySettingsPage::DisplaySettingsPagePrivate::DisplaySettingsPagePrivate - (const DisplaySettingsPageParameters &p) - : m_parameters(p) +DisplaySettingsPage::DisplaySettingsPagePrivate::DisplaySettingsPagePrivate() { - m_displaySettings.fromSettings(m_parameters.settingsPrefix, Core::ICore::settings()); - m_marginSettings.fromSettings(m_parameters.settingsPrefix, Core::ICore::settings()); + m_settingsPrefix = QLatin1String("text"); + m_displaySettings.fromSettings(m_settingsPrefix, Core::ICore::settings()); + m_marginSettings.fromSettings(m_settingsPrefix, Core::ICore::settings()); } -DisplaySettingsPage::DisplaySettingsPage(const DisplaySettingsPageParameters &p, - QObject *parent) - : Core::IOptionsPage(parent), - d(new DisplaySettingsPagePrivate(p)) +DisplaySettingsPage::DisplaySettingsPage() + : d(new DisplaySettingsPagePrivate) { - setId(p.id); - setDisplayName(p.displayName); + setId(Constants::TEXT_EDITOR_DISPLAY_SETTINGS); + setDisplayName(tr("Display")); setCategory(TextEditor::Constants::TEXT_EDITOR_SETTINGS_CATEGORY); setDisplayCategory(QCoreApplication::translate("TextEditor", "Text Editor")); setCategoryIconPath(TextEditor::Constants::TEXT_EDITOR_SETTINGS_CATEGORY_ICON_PATH); @@ -180,15 +176,17 @@ void DisplaySettingsPage::setDisplaySettings(const DisplaySettings &newDisplaySe { if (newDisplaySettings != d->m_displaySettings) { d->m_displaySettings = newDisplaySettings; - d->m_displaySettings.toSettings(d->m_parameters.settingsPrefix, Core::ICore::settings()); + d->m_displaySettings.toSettings(d->m_settingsPrefix, Core::ICore::settings()); emit displaySettingsChanged(newDisplaySettings); } if (newMarginSettings != d->m_marginSettings) { d->m_marginSettings = newMarginSettings; - d->m_marginSettings.toSettings(d->m_parameters.settingsPrefix, Core::ICore::settings()); + d->m_marginSettings.toSettings(d->m_settingsPrefix, Core::ICore::settings()); emit marginSettingsChanged(newMarginSettings); } } + +} // TextEditor diff --git a/src/plugins/texteditor/displaysettingspage.h b/src/plugins/texteditor/displaysettingspage.h index a488810762..b01aad4806 100644 --- a/src/plugins/texteditor/displaysettingspage.h +++ b/src/plugins/texteditor/displaysettingspage.h @@ -34,20 +34,12 @@ namespace TextEditor { class DisplaySettings; class MarginSettings; -class DisplaySettingsPageParameters -{ -public: - Core::Id id; - QString displayName; - QString settingsPrefix; -}; - class DisplaySettingsPage : public Core::IOptionsPage { Q_OBJECT public: - DisplaySettingsPage(const DisplaySettingsPageParameters &p, QObject *parent); + DisplaySettingsPage(); ~DisplaySettingsPage() override; // IOptionsPage diff --git a/src/plugins/texteditor/texteditorsettings.cpp b/src/plugins/texteditor/texteditorsettings.cpp index b22e088764..ad08d03c44 100644 --- a/src/plugins/texteditor/texteditorsettings.cpp +++ b/src/plugins/texteditor/texteditorsettings.cpp @@ -65,7 +65,7 @@ class TextEditorSettingsPrivate public: FontSettingsPage *m_fontSettingsPage; BehaviorSettingsPage *m_behaviorSettingsPage; - DisplaySettingsPage *m_displaySettingsPage; + DisplaySettingsPage m_displaySettingsPage; HighlighterSettingsPage m_highlighterSettingsPage; SnippetsSettingsPage m_snippetsSettingsPage; CompletionSettingsPage m_completionSettingsPage; @@ -357,12 +357,6 @@ TextEditorSettings::TextEditorSettings() behaviorSettingsPageParameters.settingsPrefix = QLatin1String("text"); d->m_behaviorSettingsPage = new BehaviorSettingsPage(behaviorSettingsPageParameters, this); - DisplaySettingsPageParameters displaySettingsPageParameters; - displaySettingsPageParameters.id = Constants::TEXT_EDITOR_DISPLAY_SETTINGS; - displaySettingsPageParameters.displayName = tr("Display"); - displaySettingsPageParameters.settingsPrefix = QLatin1String("text"); - d->m_displaySettingsPage = new DisplaySettingsPage(displaySettingsPageParameters, this); - auto updateGeneralMessagesFontSettings = []() { Core::MessageManager::setFont(d->m_fontSettingsPage->fontSettings().font()); }; @@ -386,9 +380,9 @@ TextEditorSettings::TextEditorSettings() updateGeneralMessagesBehaviorSettings(); connect(d->m_behaviorSettingsPage, &BehaviorSettingsPage::extraEncodingSettingsChanged, this, &TextEditorSettings::extraEncodingSettingsChanged); - connect(d->m_displaySettingsPage, &DisplaySettingsPage::marginSettingsChanged, + connect(&d->m_displaySettingsPage, &DisplaySettingsPage::marginSettingsChanged, this, &TextEditorSettings::marginSettingsChanged); - connect(d->m_displaySettingsPage, &DisplaySettingsPage::displaySettingsChanged, + connect(&d->m_displaySettingsPage, &DisplaySettingsPage::displaySettingsChanged, this, &TextEditorSettings::displaySettingsChanged); auto updateCamelCaseNavigation = [] { @@ -433,12 +427,12 @@ const BehaviorSettings &TextEditorSettings::behaviorSettings() const MarginSettings &TextEditorSettings::marginSettings() { - return d->m_displaySettingsPage->marginSettings(); + return d->m_displaySettingsPage.marginSettings(); } const DisplaySettings &TextEditorSettings::displaySettings() { - return d->m_displaySettingsPage->displaySettings(); + return d->m_displaySettingsPage.displaySettings(); } const CompletionSettings &TextEditorSettings::completionSettings() |