aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor/texteditorsettings.cpp
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2024-02-23 12:36:11 +0100
committerDavid Schulz <david.schulz@qt.io>2024-02-23 12:01:29 +0000
commit8feb31b2ac194af3b5da09e6c1636a7953b40ffb (patch)
tree30f51dbd542cbbe298dce6ff789e5c7e753ecda2 /src/plugins/texteditor/texteditorsettings.cpp
parent9f7d8b06b26fc87e5f588519e53d39a0ed790142 (diff)
TextEditor: bound increase and decreaseFontZoom to a 10% grid
This allows to get back to a 100% font zoom with the keyboard shortcuts by zooming to an odd zoom factor by other means. Change-Id: Ie90853367b17c207e9c47fc108b8d6f451e0f838 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Diffstat (limited to 'src/plugins/texteditor/texteditorsettings.cpp')
-rw-r--r--src/plugins/texteditor/texteditorsettings.cpp31
1 files changed, 22 insertions, 9 deletions
diff --git a/src/plugins/texteditor/texteditorsettings.cpp b/src/plugins/texteditor/texteditorsettings.cpp
index 1d7dd89386..811852b8a8 100644
--- a/src/plugins/texteditor/texteditorsettings.cpp
+++ b/src/plugins/texteditor/texteditorsettings.cpp
@@ -560,20 +560,33 @@ Utils::Id TextEditorSettings::languageId(const QString &mimeType)
return d->m_mimeTypeToLanguage.value(mimeType);
}
-static void setFontZoom(int zoom)
+static int setFontZoom(int zoom)
+{
+ zoom = qMax(10, zoom);
+ if (d->m_fontSettings.fontZoom() != zoom) {
+ d->m_fontSettings.setFontZoom(zoom);
+ d->m_fontSettings.toSettings(Core::ICore::settings());
+ emit textEditorSettings().fontSettingsChanged(d->m_fontSettings);
+ }
+ return zoom;
+}
+
+int TextEditorSettings::increaseFontZoom()
{
- d->m_fontSettings.setFontZoom(zoom);
- d->m_fontSettings.toSettings(Core::ICore::settings());
- emit textEditorSettings().fontSettingsChanged(d->m_fontSettings);
+ const int previousZoom = d->m_fontSettings.fontZoom();
+ return setFontZoom(previousZoom + 10 - previousZoom % 10);
}
-int TextEditorSettings::increaseFontZoom(int step)
+int TextEditorSettings::decreaseFontZoom()
{
const int previousZoom = d->m_fontSettings.fontZoom();
- const int newZoom = qMax(10, previousZoom + step);
- if (newZoom != previousZoom)
- setFontZoom(newZoom);
- return newZoom;
+ const int delta = previousZoom % 10;
+ return setFontZoom(previousZoom - (delta == 0 ? 10 : delta));
+}
+
+int TextEditorSettings::increaseFontZoom(int step)
+{
+ return setFontZoom(d->m_fontSettings.fontZoom() + step);
}
void TextEditorSettings::resetFontZoom()