diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index 6442f290d2..f739037cc6 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -45,6 +45,7 @@ #include "private/qplatformintegrationfactory_qpa_p.h" #include "private/qevent_p.h" #include "qfont.h" +#include "qplatformfontdatabase_qpa.h" #include #include @@ -861,7 +862,8 @@ QFont QGuiApplication::font() { QMutexLocker locker(applicationFontMutex()); if (!QGuiApplicationPrivate::app_font) - QGuiApplicationPrivate::app_font = new QFont(QLatin1String("Helvetica")); + QGuiApplicationPrivate::app_font = + new QFont(QGuiApplicationPrivate::platformIntegration()->fontDatabase()->defaultFont()); return *QGuiApplicationPrivate::app_font; } diff --git a/src/gui/kernel/qplatformintegration_qpa.cpp b/src/gui/kernel/qplatformintegration_qpa.cpp index 04f1bd392a..886ca16da3 100644 --- a/src/gui/kernel/qplatformintegration_qpa.cpp +++ b/src/gui/kernel/qplatformintegration_qpa.cpp @@ -195,6 +195,7 @@ QPlatformPixmap *QPlatformIntegration::createPlatformPixmap(QPlatformPixmap::Pix QPlatformGLContext *QPlatformIntegration::createPlatformGLContext(QGuiGLContext *context) const { + Q_UNUSED(context); qWarning("This plugin does not support createPlatformGLContext!"); return 0; } diff --git a/src/gui/text/qplatformfontdatabase_qpa.cpp b/src/gui/text/qplatformfontdatabase_qpa.cpp index 059dc3e188..7ad838561b 100644 --- a/src/gui/text/qplatformfontdatabase_qpa.cpp +++ b/src/gui/text/qplatformfontdatabase_qpa.cpp @@ -343,6 +343,30 @@ QString QPlatformFontDatabase::fontDir() const return fontpath; } +/*! + Returns the default system font. + + \sa QGuiApplication::font() + \since 5.0 +*/ + +QFont QPlatformFontDatabase::defaultFont() const +{ + return QFont(QLatin1String("Helvetica")); +} + +/*! + Returns fonts for class names. + + \sa QGuiApplication::font() + \since 5.0 +*/ + +QHash QPlatformFontDatabase::defaultFonts() const +{ + return QHash(); +} + /*! \class QPlatformFontDatabase \brief The QPlatformFontDatabase class makes it possible to customize how fonts diff --git a/src/gui/text/qplatformfontdatabase_qpa.h b/src/gui/text/qplatformfontdatabase_qpa.h index 1fb3c32fea..d34d602e43 100644 --- a/src/gui/text/qplatformfontdatabase_qpa.h +++ b/src/gui/text/qplatformfontdatabase_qpa.h @@ -46,6 +46,7 @@ #include #include #include +#include #include #include @@ -96,6 +97,9 @@ public: virtual QString fontDir() const; + virtual QFont defaultFont() const; + virtual QHash defaultFonts() const; + //callback static void registerQPF2Font(const QByteArray &dataArray, void *handle); static void registerFont(const QString &familyname, const QString &foundryname, QFont::Weight weight, diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp index 0e1b691b36..f5cb04ce80 100644 --- a/src/widgets/kernel/qapplication.cpp +++ b/src/widgets/kernel/qapplication.cpp @@ -101,7 +101,8 @@ #include "qgesture.h" #include "private/qgesturemanager_p.h" - +#include "private/qguiapplication_p.h" +#include "qplatformfontdatabase_qpa.h" #ifndef QT_NO_LIBRARY #include "qlibrary.h" #endif @@ -514,7 +515,7 @@ PaletteHash *qt_app_palettes_hash() return app_palettes(); } -Q_GLOBAL_STATIC(FontHash, app_fonts) +Q_GLOBAL_STATIC_WITH_INITIALIZER(FontHash, app_fonts, { *x = QGuiApplicationPrivate::platformIntegration()->fontDatabase()->defaultFonts(); } ) FontHash *qt_app_fonts_hash() { return app_fonts();