diff options
author | Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com> | 2016-03-07 14:34:40 -0800 |
---|---|---|
committer | Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com> | 2016-03-23 20:24:59 +0000 |
commit | 060e0f6628fd185994911307c59f5355acaaf18f (patch) | |
tree | f86a818d231b9f608e40394b1cf6a98552c81fe0 /src/plugins/platforms/minimal/qminimalintegration.cpp | |
parent | fce83bd9f84883f93829e6ca9eacf098b018a02d (diff) | |
download | qtbase-060e0f6628fd185994911307c59f5355acaaf18f.tar.gz |
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 <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
Diffstat (limited to 'src/plugins/platforms/minimal/qminimalintegration.cpp')
-rw-r--r-- | src/plugins/platforms/minimal/qminimalintegration.cpp | 25 |
1 files changed, 19 insertions, 6 deletions
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 <QtGui/private/qpixmap_raster_p.h> #include <QtGui/private/qguiapplication_p.h> #include <qpa/qplatformwindow.h> + +#if defined(Q_OS_WIN) +#include <QtPlatformSupport/private/qbasicfontdatabase_p.h> +#elif defined(QT_NO_FONTCONFIG) #include <qpa/qplatformfontdatabase.h> +#else +#include <QtPlatformSupport/private/qgenericunixfontdatabase_p.h> +#endif #if !defined(Q_OS_WIN) #include <QtPlatformSupport/private/qgenericunixeventdispatcher_p.h> @@ -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 |