aboutsummaryrefslogtreecommitdiffstats
path: root/src/templates/qquicklabel.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2015-09-18 12:23:45 +0200
committerLiang Qi <liang.qi@theqtcompany.com>2015-09-18 18:29:23 +0000
commite2043f4933b6d60b245ee19f97e5751f517e5a2c (patch)
treea049bfa9f126b43e96568c1202766ded6f8ccb54 /src/templates/qquicklabel.cpp
parent0797e0cb2072a0b5cac4d8db2205d932cc64d25c (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.cpp15
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);