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