From 15b7774b48e93faadfb852f2ebbce350da29f882 Mon Sep 17 00:00:00 2001 From: Marcus Tillmanns Date: Mon, 14 Oct 2024 09:18:35 +0200 Subject: [PATCH] ExtensionManager: Simplify heading font selection Change-Id: I8fa6707559d4baa479b6e3f4986cf578e0ec4dba Reviewed-by: Alessandro Portale --- .../extensionmanagerwidget.cpp | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/plugins/extensionmanager/extensionmanagerwidget.cpp b/src/plugins/extensionmanager/extensionmanagerwidget.cpp index 60bfb8b19a1..a5891167bfe 100644 --- a/src/plugins/extensionmanager/extensionmanagerwidget.cpp +++ b/src/plugins/extensionmanager/extensionmanagerwidget.cpp @@ -65,8 +65,16 @@ Q_LOGGING_CATEGORY(widgetLog, "qtc.extensionmanager.widget", QtWarningMsg) constexpr TextFormat contentTF {Theme::Token_Text_Default, UiElement::UiElementBody2}; -constexpr TextFormat h5TF - {contentTF.themeColor, UiElement::UiElementH5}; + +constexpr std::array markdownHeadingFormats{ + TextFormat{contentTF.themeColor, UiElement::UiElementH4}, + TextFormat{contentTF.themeColor, UiElement::UiElementH5}, + TextFormat{contentTF.themeColor, UiElement::UiElementH6Capital}, + TextFormat{contentTF.themeColor, UiElement::UiElementH6Capital}, + TextFormat{contentTF.themeColor, UiElement::UiElementH6Capital}, + TextFormat{contentTF.themeColor, UiElement::UiElementH6Capital}, +}; + constexpr TextFormat h6TF {contentTF.themeColor, UiElement::UiElementH6}; constexpr TextFormat h6CapitalTF @@ -841,10 +849,9 @@ static void setMarkdown(QTextDocument *document, const QString &markdown) } cursor.mergeBlockFormat(blockFormat); - const TextFormat headingTf = - blockFormat.headingLevel() == 1 ? h5TF - : blockFormat.headingLevel() == 2 ? h6TF - : h6CapitalTF; + const TextFormat &headingTf + = markdownHeadingFormats[qBound(0, blockFormat.headingLevel() - 1, 5)]; + const QFont headingFont = headingTf.font(); for (auto it = block.begin(); !(it.atEnd()); ++it) { QTextFragment fragment = it.fragment(); @@ -853,6 +860,8 @@ static void setMarkdown(QTextDocument *document, const QString &markdown) cursor.setPosition(fragment.position()); cursor.setPosition(fragment.position() + fragment.length(), QTextCursor::KeepAnchor); if (blockFormat.hasProperty(QTextFormat::HeadingLevel)) { + // We don't use font size adjustment for headings + charFormat.clearProperty(QTextFormat::FontSizeAdjustment); charFormat.setFontCapitalization(headingFont.capitalization()); charFormat.setFontFamilies(headingFont.families()); charFormat.setFontPointSize(headingFont.pointSizeF());