aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2024-02-27 09:04:51 +0100
committerEike Ziller <eike.ziller@qt.io>2024-02-27 09:04:51 +0100
commita8414effd8ff6cd9c32c8466950ac3b9b9561524 (patch)
tree649402f4c740ca69eb8e90088b0ac1d16ae9ef78 /src/plugins/texteditor
parent69a0f1654710ba9dc708c968c7312b48038774dd (diff)
parentfdabbfcbcfe35bce731a2eff3fe13e2d6df238b9 (diff)
Merge remote-tracking branch 'origin/13.0'
Diffstat (limited to 'src/plugins/texteditor')
-rw-r--r--src/plugins/texteditor/texteditor.cpp12
-rw-r--r--src/plugins/texteditor/texteditor.h2
-rw-r--r--src/plugins/texteditor/texteditoractionhandler.cpp4
-rw-r--r--src/plugins/texteditor/texteditorsettings.cpp31
-rw-r--r--src/plugins/texteditor/texteditorsettings.h2
5 files changed, 40 insertions, 11 deletions
diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp
index c8ef69c63e..70239b286e 100644
--- a/src/plugins/texteditor/texteditor.cpp
+++ b/src/plugins/texteditor/texteditor.cpp
@@ -6891,6 +6891,18 @@ static void showZoomIndicator(QWidget *editor, const int newZoom)
Utils::FadingIndicator::SmallText);
}
+void TextEditorWidget::increaseFontZoom()
+{
+ d->clearVisibleFoldedBlock();
+ showZoomIndicator(this, TextEditorSettings::increaseFontZoom());
+}
+
+void TextEditorWidget::decreaseFontZoom()
+{
+ d->clearVisibleFoldedBlock();
+ showZoomIndicator(this, TextEditorSettings::decreaseFontZoom());
+}
+
void TextEditorWidget::zoomF(float delta)
{
d->clearVisibleFoldedBlock();
diff --git a/src/plugins/texteditor/texteditor.h b/src/plugins/texteditor/texteditor.h
index a2a1aafb2b..33b8cb84f0 100644
--- a/src/plugins/texteditor/texteditor.h
+++ b/src/plugins/texteditor/texteditor.h
@@ -349,6 +349,8 @@ public:
void pasteWithoutFormat();
void switchUtf8bom();
+ void increaseFontZoom();
+ void decreaseFontZoom();
void zoomF(float delta);
void zoomReset();
diff --git a/src/plugins/texteditor/texteditoractionhandler.cpp b/src/plugins/texteditor/texteditoractionhandler.cpp
index 2e48670bf4..240e8498ed 100644
--- a/src/plugins/texteditor/texteditoractionhandler.cpp
+++ b/src/plugins/texteditor/texteditoractionhandler.cpp
@@ -394,11 +394,11 @@ void TextEditorActionHandlerPrivate::createActions()
QKeySequence(),
G_EDIT_COLLAPSING, advancedEditMenu);
registerAction(INCREASE_FONT_SIZE,
- [] (TextEditorWidget *w) { w->zoomF(1.f); }, false, Tr::tr("Increase Font Size"),
+ [] (TextEditorWidget *w) { w->increaseFontZoom(); }, false, Tr::tr("Increase Font Size"),
QKeySequence(Tr::tr("Ctrl++")),
G_EDIT_FONT, advancedEditMenu);
registerAction(DECREASE_FONT_SIZE,
- [] (TextEditorWidget *w) { w->zoomF(-1.f); }, false, Tr::tr("Decrease Font Size"),
+ [] (TextEditorWidget *w) { w->decreaseFontZoom(); }, false, Tr::tr("Decrease Font Size"),
QKeySequence(Tr::tr("Ctrl+-")),
G_EDIT_FONT, advancedEditMenu);
registerAction(RESET_FONT_SIZE,
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()
diff --git a/src/plugins/texteditor/texteditorsettings.h b/src/plugins/texteditor/texteditorsettings.h
index 88dd057608..1599fcbba5 100644
--- a/src/plugins/texteditor/texteditorsettings.h
+++ b/src/plugins/texteditor/texteditorsettings.h
@@ -76,6 +76,8 @@ public:
static void registerMimeTypeForLanguageId(const char *mimeType, Utils::Id languageId);
static Utils::Id languageId(const QString &mimeType);
+ static int increaseFontZoom();
+ static int decreaseFontZoom();
static int increaseFontZoom(int step);
static void resetFontZoom();