From 3b380c8481b134fa80948d1a7af4560744303cbc Mon Sep 17 00:00:00 2001 From: Oliver Wolff Date: Wed, 15 May 2019 10:40:12 +0200 Subject: winrt: Return monospace font for QFontDatabase::systemFont(QFontDatabase::FixedFont) Fixes: QTBUG-75648 Change-Id: I0e5e5e012d3cd5985d1e9a63e776e73ce2d7bf98 Reviewed-by: Friedemann Kleint Reviewed-by: Shawn Rutledge --- src/plugins/platforms/winrt/qwinrttheme.cpp | 18 ++++++++++++++++++ src/plugins/platforms/winrt/qwinrttheme.h | 1 + tests/auto/gui/text/qfontdatabase/BLACKLIST | 1 - 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/plugins/platforms/winrt/qwinrttheme.cpp b/src/plugins/platforms/winrt/qwinrttheme.cpp index 283825a880..0e1504b1c1 100644 --- a/src/plugins/platforms/winrt/qwinrttheme.cpp +++ b/src/plugins/platforms/winrt/qwinrttheme.cpp @@ -44,6 +44,8 @@ #include #include +#include + #include #include #include @@ -96,7 +98,13 @@ static IUISettings *uiSettings() class QWinRTThemePrivate { public: + QWinRTThemePrivate() + : monospaceFont(QWinRTFontDatabase::familyForStyleHint(QFont::Monospace)) + { + } + QPalette palette; + QFont monospaceFont; }; static inline QColor fromColor(const Color &color) @@ -321,4 +329,14 @@ const QPalette *QWinRTTheme::palette(Palette type) const return QPlatformTheme::palette(type); } +const QFont *QWinRTTheme::font(QPlatformTheme::Font type) const +{ + Q_D(const QWinRTTheme); + qCDebug(lcQpaTheme) << __FUNCTION__ << type; + if (type == QPlatformTheme::FixedFont) + return &d->monospaceFont; + + return QPlatformTheme::font(type); +} + QT_END_NAMESPACE diff --git a/src/plugins/platforms/winrt/qwinrttheme.h b/src/plugins/platforms/winrt/qwinrttheme.h index cc5fc851e7..acf5a54a94 100644 --- a/src/plugins/platforms/winrt/qwinrttheme.h +++ b/src/plugins/platforms/winrt/qwinrttheme.h @@ -58,6 +58,7 @@ public: QPlatformDialogHelper *createPlatformDialogHelper(DialogType type) const override; const QPalette *palette(Palette type = SystemPalette) const override; + const QFont *font(Font type = SystemFont) const override; static QVariant styleHint(QPlatformIntegration::StyleHint hint); QVariant themeHint(ThemeHint hint) const override; diff --git a/tests/auto/gui/text/qfontdatabase/BLACKLIST b/tests/auto/gui/text/qfontdatabase/BLACKLIST index 7f479e4b0e..0870ca11d7 100644 --- a/tests/auto/gui/text/qfontdatabase/BLACKLIST +++ b/tests/auto/gui/text/qfontdatabase/BLACKLIST @@ -1,3 +1,2 @@ [systemFixedFont] # QTBUG-54623 -winrt b2qt -- cgit v1.2.3