File Fix-font-attributes.patch of Package ktexteditor

From 4d91fa7e918d983e6569798dfe20c7c9faf4bb9e Mon Sep 17 00:00:00 2001
From: Christoph Cullmann <cullmann@kde.org>
Date: Sun, 15 Apr 2018 13:36:52 +0200
Subject: Fix problem that font/italic/... attributes no longer work with e.g.
 >= Qt 5.9

CHANGELOG: Fix missing bold/italic/... markup with modern Qt versions (>= 5.9)

Differential Revision: https://phabricator.kde.org/D12221
---
 src/utils/kateconfig.cpp | 19 +++++++++++--------
 src/utils/kateconfig.h   |  6 ++++++
 2 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/src/utils/kateconfig.cpp b/src/utils/kateconfig.cpp
index 02a856e..49bf5ae 100644
--- a/src/utils/kateconfig.cpp
+++ b/src/utils/kateconfig.cpp
@@ -2494,11 +2494,7 @@ void KateRendererConfig::setSchemaInternal(const QString &schema)
         m_lineMarkerColor[i] = col;
     }
 
-    QFont f(QFontDatabase::systemFont(QFontDatabase::FixedFont));
-
-    m_font = config.readEntry("Font", f);
-    m_fontMetrics = QFontMetricsF(m_font);
-    m_fontSet = true;
+    setFontWithDroppedStyleName(config.readEntry("Font", QFontDatabase::systemFont(QFontDatabase::FixedFont)));
 
     m_templateBackgroundColor = config.readEntry(QStringLiteral("Color Template Background"), colors.color(Kate::TemplateBackground));
 
@@ -2539,12 +2535,19 @@ void KateRendererConfig::setFont(const QFont &font)
     }
 
     configStart();
+    setFontWithDroppedStyleName(font);
+    configEnd();
+}
 
-    m_fontSet = true;
+void KateRendererConfig::setFontWithDroppedStyleName(const QFont &font)
+{
+    /**
+     * Drop styleName, otherwise stuff like bold/italic/... won't work as style!
+     */
     m_font = font;
+    m_font.setStyleName(QString());
     m_fontMetrics = QFontMetricsF(m_font);
-
-    configEnd();
+    m_fontSet = true;
 }
 
 bool KateRendererConfig::wordWrapMarker() const
diff --git a/src/utils/kateconfig.h b/src/utils/kateconfig.h
index 78120fe..5a47a85 100644
--- a/src/utils/kateconfig.h
+++ b/src/utils/kateconfig.h
@@ -791,6 +791,12 @@ private:
      */
     void setSchemaInternal(const QString &schema);
 
+    /**
+     * Set the font but drop style name before that.
+     * Otherwise e.g. styles like bold/italic/... will not work
+     */
+    void setFontWithDroppedStyleName(const QFont &font);
+
     QString m_schema;
     QFont m_font;
     QFontMetricsF m_fontMetrics;
-- 
cgit v0.11.2

openSUSE Build Service is sponsored by