Introduce QFontDatabase::isPrivateFamily()
Some platforms have the concept of private fonts (e.g., OS X and iOS) which are generally used as system UI fonts. Since 909d3f5c7, the platform font database has a similar but private API. [ChangeLog][QtGui][Fonts] Added QFontDatabase::isPrivateFamily() Change-Id: Ibdce9de534fadbbc3965be8a942c8012edeed209 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
This commit is contained in:
parent
b45db5480d
commit
c87566bf9e
@ -1935,6 +1935,24 @@ bool QFontDatabase::hasFamily(const QString &family) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\since 5.5
|
||||||
|
|
||||||
|
Returns \c true if and only if the \a family font family is private.
|
||||||
|
|
||||||
|
This happens, for instance, on OS X and iOS, where the system UI fonts are not
|
||||||
|
accessible to the user. For completeness, QFontDatabase::families() returns all
|
||||||
|
font families, including the private ones. You should use this function if you
|
||||||
|
are developing a font selection control in order to keep private fonts hidden.
|
||||||
|
|
||||||
|
\sa families()
|
||||||
|
*/
|
||||||
|
bool QFontDatabase::isPrivateFamily(const QString &family) const
|
||||||
|
{
|
||||||
|
return QGuiApplicationPrivate::platformIntegration()->fontDatabase()->isPrivateFontFamily(family);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Returns the names the \a writingSystem (e.g. for displaying to the
|
Returns the names the \a writingSystem (e.g. for displaying to the
|
||||||
user in a dialog).
|
user in a dialog).
|
||||||
|
@ -132,6 +132,7 @@ public:
|
|||||||
int weight(const QString &family, const QString &style) const;
|
int weight(const QString &family, const QString &style) const;
|
||||||
|
|
||||||
bool hasFamily(const QString &family) const;
|
bool hasFamily(const QString &family) const;
|
||||||
|
bool isPrivateFamily(const QString &family) const;
|
||||||
|
|
||||||
static QString writingSystemName(WritingSystem writingSystem);
|
static QString writingSystemName(WritingSystem writingSystem);
|
||||||
static QString writingSystemSample(WritingSystem writingSystem);
|
static QString writingSystemSample(WritingSystem writingSystem);
|
||||||
|
@ -57,10 +57,6 @@
|
|||||||
#include <private/qdialog_p.h>
|
#include <private/qdialog_p.h>
|
||||||
#include <private/qfont_p.h>
|
#include <private/qfont_p.h>
|
||||||
|
|
||||||
#include <QtGui/private/qguiapplication_p.h>
|
|
||||||
#include <qpa/qplatformintegration.h>
|
|
||||||
#include <qpa/qplatformfontdatabase.h>
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
class QFontListView : public QListView
|
class QFontListView : public QListView
|
||||||
@ -482,11 +478,11 @@ void QFontDialogPrivate::updateFamilies()
|
|||||||
const QFontDialog::FontDialogOptions spacingMask = (QFontDialog::ProportionalFonts | QFontDialog::MonospacedFonts);
|
const QFontDialog::FontDialogOptions spacingMask = (QFontDialog::ProportionalFonts | QFontDialog::MonospacedFonts);
|
||||||
const QFontDialog::FontDialogOptions options = q->options();
|
const QFontDialog::FontDialogOptions options = q->options();
|
||||||
|
|
||||||
QPlatformFontDatabase *pfdb = QGuiApplicationPrivate::platformIntegration()->fontDatabase();
|
QFontDatabase fdb;
|
||||||
|
|
||||||
QStringList familyNames;
|
QStringList familyNames;
|
||||||
foreach (const QString &family, fdb.families(writingSystem)) {
|
foreach (const QString &family, fdb.families(writingSystem)) {
|
||||||
if (pfdb->isPrivateFontFamily(family))
|
if (fdb.isPrivateFamily(family))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if ((options & scalableMask) && (options & scalableMask) != scalableMask) {
|
if ((options & scalableMask) && (options & scalableMask) != scalableMask) {
|
||||||
|
@ -45,10 +45,6 @@
|
|||||||
#include <QDesktopWidget>
|
#include <QDesktopWidget>
|
||||||
#include <qdebug.h>
|
#include <qdebug.h>
|
||||||
|
|
||||||
#include <QtGui/private/qguiapplication_p.h>
|
|
||||||
#include <qpa/qplatformintegration.h>
|
|
||||||
#include <qpa/qplatformfontdatabase.h>
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
static QFontDatabase::WritingSystem writingSystemFromScript(QLocale::Script script)
|
static QFontDatabase::WritingSystem writingSystemFromScript(QLocale::Script script)
|
||||||
@ -324,10 +320,8 @@ void QFontComboBoxPrivate::_q_updateModel()
|
|||||||
int offset = 0;
|
int offset = 0;
|
||||||
QFontInfo fi(currentFont);
|
QFontInfo fi(currentFont);
|
||||||
|
|
||||||
QPlatformFontDatabase *pfdb = QGuiApplicationPrivate::platformIntegration()->fontDatabase();
|
|
||||||
|
|
||||||
for (int i = 0; i < list.size(); ++i) {
|
for (int i = 0; i < list.size(); ++i) {
|
||||||
if (pfdb->isPrivateFontFamily(list.at(i)))
|
if (fdb.isPrivateFamily(list.at(i)))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if ((filters & scalableMask) && (filters & scalableMask) != scalableMask) {
|
if ((filters & scalableMask) && (filters & scalableMask) != scalableMask) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user