diff options
author | Liang Qi <liang.qi@theqtcompany.com> | 2015-09-18 12:23:45 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@theqtcompany.com> | 2015-09-18 18:29:23 +0000 |
commit | e2043f4933b6d60b245ee19f97e5751f517e5a2c (patch) | |
tree | a049bfa9f126b43e96568c1202766ded6f8ccb54 /src/templates/qquicklabel.cpp | |
parent | 0797e0cb2072a0b5cac4d8db2205d932cc64d25c (diff) |
Templates: fix font rendering in Label, TextArea and TextField
Change-Id: I264e0b86dcf54623b545d695f1a23f7d4a08972b
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Diffstat (limited to 'src/templates/qquicklabel.cpp')
-rw-r--r-- | src/templates/qquicklabel.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/templates/qquicklabel.cpp b/src/templates/qquicklabel.cpp index 2175fc33..dae9c7f1 100644 --- a/src/templates/qquicklabel.cpp +++ b/src/templates/qquicklabel.cpp @@ -71,10 +71,15 @@ QQuickLabel::~QQuickLabel() */ void QQuickLabelPrivate::resolveFont() { - Q_Q(const QQuickLabel); + Q_Q(QQuickLabel); QFont naturalFont = QQuickControlPrivate::naturalControlFont(q); QFont resolvedFont = sourceFont.resolve(naturalFont); - setFont_helper(resolvedFont); + if (sourceFont.resolve() == resolvedFont.resolve() && sourceFont == resolvedFont) + return; + + q->QQuickText::setFont(resolvedFont); + + emit q->fontChanged(); } void QQuickLabelPrivate::_q_textChanged(const QString &text) @@ -89,8 +94,7 @@ void QQuickLabelPrivate::_q_textChanged(const QString &text) QFont QQuickLabel::font() const { - Q_D(const QQuickLabel); - return d->sourceFont; + return QQuickText::font(); } void QQuickLabel::setFont(const QFont &font) @@ -105,7 +109,8 @@ void QQuickLabel::setFont(const QFont &font) // control's children. QFont naturalFont = QQuickControlPrivate::naturalControlFont(this); QFont resolvedFont = font.resolve(naturalFont); - d->setFont_helper(resolvedFont); + if (d->sourceFont.resolve() == resolvedFont.resolve() && d->sourceFont == resolvedFont) + return; QQuickText::setFont(font); |