diff options
author | Gabriel de Dietrich <gabriel.dedietrich@digia.com> | 2014-07-02 13:18:50 +0200 |
---|---|---|
committer | Gabriel de Dietrich <gabriel.dedietrich@digia.com> | 2014-08-11 10:46:13 +0200 |
commit | 909d3f5c733dde02074a737a5f1dbe3e51dbef32 (patch) | |
tree | 9707cd00cd97215df12724df79597f74f3c2ed44 /examples/widgets | |
parent | 3924805d595f18820f127ab33486d076102afec6 (diff) | |
download | qtbase-909d3f5c733dde02074a737a5f1dbe3e51dbef32.tar.gz |
Font Database: Add support for private, system UI font families
We introduce QPlatformFontDatabase::isPrivateFontFamily() to allow
testing for private, system UI font families. Both QFontComboBox
and QFontDialog need to filter out those private font families
which, by definition, should be hidden from the end user.
(The textedit example had to be updated to fix the issue where the
default font would be private. In 5.4, we will be adding an equivalent,
public API in QFontDatabase, and a better solution for the textedit
example and QTexEdit in general).
In particular, on OS X and iOS, private fonts are used for the system
UI font. Those have their font family name prefixed by a dot.
QCoreTextFontDatabase knows about this, and makes sure those are
tested positive as private font families. In order to have a cleaner
layer separation, we moved the QPA theme font resolution from the
platform theme classes into QCoreTextFontDatabase for both Cocoa and
iOS QPA plugins.
In both cases, we use CoreText's CTFontCreateUIFontForLanguage(), that
nicely maps to the HITheme API we were using so far on Mac. That means
one HITheme dependency less. We also cache the font descriptors we get
for these font for each time QCTFD::populateFamilies() gets called.
(While not common, this currently happens in auto-tests, like
tst_QFontDatabase, and could happen in actual applications -- specially
when adding and removing application fonts.)
Change-Id: Ic6f0b60f9f597afee1a43596a669742dc546b97f
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Diffstat (limited to 'examples/widgets')
-rw-r--r-- | examples/widgets/richtext/textedit/textedit.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/examples/widgets/richtext/textedit/textedit.cpp b/examples/widgets/richtext/textedit/textedit.cpp index 128924ef4e..32483bb072 100644 --- a/examples/widgets/richtext/textedit/textedit.cpp +++ b/examples/widgets/richtext/textedit/textedit.cpp @@ -100,6 +100,9 @@ TextEdit::TextEdit(QWidget *parent) textEdit->setFocus(); setCurrentFileName(QString()); + QFont textFont("Helvetica"); + textFont.setStyleHint(QFont::SansSerif); + textEdit->setFont(textFont); fontChanged(textEdit->font()); colorChanged(textEdit->textColor()); alignmentChanged(textEdit->alignment()); |