diff --git a/src/plugins/texteditor/fontsettingspage.cpp b/src/plugins/texteditor/fontsettingspage.cpp index c192192bdb8..f0e1bca968f 100644 --- a/src/plugins/texteditor/fontsettingspage.cpp +++ b/src/plugins/texteditor/fontsettingspage.cpp @@ -642,9 +642,8 @@ FontSettingsPage::FontSettingsPage(FontSettings *fontSettings, const FormatDescr void FontSettingsPage::setFontZoom(int zoom) { - auto w = static_cast(widget()); - w->m_ui.zoomSpinBox->setValue(zoom); - w->saveSettings(); + if (m_widget) + static_cast(m_widget.data())->m_ui.zoomSpinBox->setValue(zoom); } } // TextEditor diff --git a/src/plugins/texteditor/texteditorsettings.cpp b/src/plugins/texteditor/texteditorsettings.cpp index ed822f20801..eb75f8aeb9c 100644 --- a/src/plugins/texteditor/texteditorsettings.cpp +++ b/src/plugins/texteditor/texteditorsettings.cpp @@ -514,21 +514,26 @@ Core::Id TextEditorSettings::languageId(const QString &mimeType) return d->m_mimeTypeToLanguage.value(mimeType); } +static void setFontZoom(int zoom) +{ + d->m_fontSettingsPage.setFontZoom(zoom); + d->m_fontSettings.setFontZoom(zoom); + d->m_fontSettings.toSettings(Core::ICore::settings()); + emit m_instance->fontSettingsChanged(d->m_fontSettings); +} + int TextEditorSettings::increaseFontZoom(int step) { const int previousZoom = d->m_fontSettings.fontZoom(); const int newZoom = qMax(10, previousZoom + step); - if (newZoom != previousZoom) { - d->m_fontSettings.setFontZoom(newZoom); - d->m_fontSettingsPage.setFontZoom(newZoom); - } + if (newZoom != previousZoom) + setFontZoom(newZoom); return newZoom; } void TextEditorSettings::resetFontZoom() { - d->m_fontSettings.setFontZoom(100); - d->m_fontSettingsPage.setFontZoom(100); + setFontZoom(100); } } // TextEditor