diff options
author | Eike Ziller <eike.ziller@qt.io> | 2024-02-27 09:04:51 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2024-02-27 09:04:51 +0100 |
commit | a8414effd8ff6cd9c32c8466950ac3b9b9561524 (patch) | |
tree | 649402f4c740ca69eb8e90088b0ac1d16ae9ef78 /src/plugins/texteditor | |
parent | 69a0f1654710ba9dc708c968c7312b48038774dd (diff) | |
parent | fdabbfcbcfe35bce731a2eff3fe13e2d6df238b9 (diff) |
Merge remote-tracking branch 'origin/13.0'
Change-Id: If752e3383b35873b696e8beca27d8838a4096c8a
Diffstat (limited to 'src/plugins/texteditor')
-rw-r--r-- | src/plugins/texteditor/texteditor.cpp | 12 | ||||
-rw-r--r-- | src/plugins/texteditor/texteditor.h | 2 | ||||
-rw-r--r-- | src/plugins/texteditor/texteditoractionhandler.cpp | 4 | ||||
-rw-r--r-- | src/plugins/texteditor/texteditorsettings.cpp | 31 | ||||
-rw-r--r-- | src/plugins/texteditor/texteditorsettings.h | 2 |
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(); |