From 060e0f6628fd185994911307c59f5355acaaf18f Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Mon, 7 Mar 2016 14:34:40 -0800 Subject: minimal QPA plugin: Use fontconfig DB if available This makes minimal a bit more useful for apps needing to access QFonts from non-UI environments. Change-Id: Idc5ca13f0c385ab9b4258e11fea7ec886515eea4 Reviewed-by: Friedemann Kleint Reviewed-by: Louai Al-Khanji --- .../platforms/minimal/qminimalintegration.cpp | 25 ++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'src/plugins/platforms/minimal/qminimalintegration.cpp') diff --git a/src/plugins/platforms/minimal/qminimalintegration.cpp b/src/plugins/platforms/minimal/qminimalintegration.cpp index 45301f4caf..ac819b9282 100644 --- a/src/plugins/platforms/minimal/qminimalintegration.cpp +++ b/src/plugins/platforms/minimal/qminimalintegration.cpp @@ -37,7 +37,14 @@ #include #include #include + +#if defined(Q_OS_WIN) +#include +#elif defined(QT_NO_FONTCONFIG) #include +#else +#include +#endif #if !defined(Q_OS_WIN) #include @@ -62,7 +69,7 @@ static inline unsigned parseOptions(const QStringList ¶mList) } QMinimalIntegration::QMinimalIntegration(const QStringList ¶meters) - : m_dummyFontDatabase(0) + : m_fontDatabase(0) , m_options(parseOptions(parameters)) { if (qEnvironmentVariableIsSet(debugBackingStoreEnvironmentVariable) @@ -81,7 +88,7 @@ QMinimalIntegration::QMinimalIntegration(const QStringList ¶meters) QMinimalIntegration::~QMinimalIntegration() { - delete m_dummyFontDatabase; + delete m_fontDatabase; } bool QMinimalIntegration::hasCapability(QPlatformIntegration::Capability cap) const @@ -104,11 +111,17 @@ public: QPlatformFontDatabase *QMinimalIntegration::fontDatabase() const { - if (m_options & EnableFonts) + if (m_options & EnableFonts) { +#ifndef QT_NO_FONTCONFIG + if (!m_fontDatabase) + m_fontDatabase = new QGenericUnixFontDatabase; +#else return QPlatformIntegration::fontDatabase(); - if (!m_dummyFontDatabase) - m_dummyFontDatabase = new DummyFontDatabase; - return m_dummyFontDatabase; +#endif + } + if (!m_fontDatabase) + m_fontDatabase = new DummyFontDatabase; + return m_fontDatabase; } QPlatformWindow *QMinimalIntegration::createPlatformWindow(QWindow *window) const -- cgit v1.2.3