diff options
author | Liang Qi <liang.qi@theqtcompany.com> | 2015-11-18 13:58:15 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@theqtcompany.com> | 2015-12-01 15:04:28 +0000 |
commit | 5823d6230f5b1fbbd27c3b00b334e062a21b3d65 (patch) | |
tree | 1bdaa7d71cb6900dec97415a7bb3b91b82984143 /src/templates | |
parent | 0928dc2924e09a38c58513d82887e6d75a112eb0 (diff) |
Control: resolve the font a bit earlier
Also applied to QQuickLabel, QQuickTextArea and QQuickTextField.
Change-Id: Icf10500905980445809eb2375e8957db2c41e03c
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Diffstat (limited to 'src/templates')
-rw-r--r-- | src/templates/qquickcontrol.cpp | 9 | ||||
-rw-r--r-- | src/templates/qquickcontrol_p.h | 2 | ||||
-rw-r--r-- | src/templates/qquicklabel.cpp | 15 | ||||
-rw-r--r-- | src/templates/qquicklabel_p.h | 3 | ||||
-rw-r--r-- | src/templates/qquicktextarea.cpp | 15 | ||||
-rw-r--r-- | src/templates/qquicktextarea_p.h | 3 | ||||
-rw-r--r-- | src/templates/qquicktextfield.cpp | 15 | ||||
-rw-r--r-- | src/templates/qquicktextfield_p.h | 3 |
8 files changed, 64 insertions, 1 deletions
diff --git a/src/templates/qquickcontrol.cpp b/src/templates/qquickcontrol.cpp index 0de24493..908abeda 100644 --- a/src/templates/qquickcontrol.cpp +++ b/src/templates/qquickcontrol.cpp @@ -342,11 +342,18 @@ QQuickControl::QQuickControl(QQuickControlPrivate &dd, QQuickItem *parent) : { } +void QQuickControl::classBegin() +{ + Q_D(QQuickControl); + QQuickItem::classBegin(); + d->resolveFont(); +} + void QQuickControl::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value) { Q_D(QQuickControl); QQuickItem::itemChange(change, value); - if (change == ItemParentHasChanged) + if (change == ItemParentHasChanged && isComponentComplete()) d->resolveFont(); } diff --git a/src/templates/qquickcontrol_p.h b/src/templates/qquickcontrol_p.h index 1e3b6830..346b45b3 100644 --- a/src/templates/qquickcontrol_p.h +++ b/src/templates/qquickcontrol_p.h @@ -140,7 +140,9 @@ protected: QQuickControl(QQuickControlPrivate &dd, QQuickItem *parent); + void classBegin() Q_DECL_OVERRIDE; void componentComplete() Q_DECL_OVERRIDE; + void itemChange(ItemChange change, const ItemChangeData &value) Q_DECL_OVERRIDE; void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE; diff --git a/src/templates/qquicklabel.cpp b/src/templates/qquicklabel.cpp index 2b4b9a12..d2c86037 100644 --- a/src/templates/qquicklabel.cpp +++ b/src/templates/qquicklabel.cpp @@ -205,6 +205,21 @@ void QQuickLabel::setBackground(QQuickItem *background) } } +void QQuickLabel::classBegin() +{ + Q_D(QQuickLabel); + QQuickText::classBegin(); + d->resolveFont(); +} + +void QQuickLabel::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value) +{ + Q_D(QQuickLabel); + QQuickText::itemChange(change, value); + if (change == ItemParentHasChanged && isComponentComplete()) + d->resolveFont(); +} + void QQuickLabel::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) { Q_D(QQuickLabel); diff --git a/src/templates/qquicklabel_p.h b/src/templates/qquicklabel_p.h index 77258e84..d753320d 100644 --- a/src/templates/qquicklabel_p.h +++ b/src/templates/qquicklabel_p.h @@ -76,6 +76,9 @@ Q_SIGNALS: void backgroundChanged(); protected: + void classBegin() Q_DECL_OVERRIDE; + + void itemChange(ItemChange change, const ItemChangeData &value) Q_DECL_OVERRIDE; void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) Q_DECL_OVERRIDE; private: diff --git a/src/templates/qquicktextarea.cpp b/src/templates/qquicktextarea.cpp index 4c23ba9b..c78da815 100644 --- a/src/templates/qquicktextarea.cpp +++ b/src/templates/qquicktextarea.cpp @@ -277,6 +277,21 @@ void QQuickTextArea::setPlaceholderText(const QString &text) } } +void QQuickTextArea::classBegin() +{ + Q_D(QQuickTextArea); + QQuickTextEdit::classBegin(); + d->resolveFont(); +} + +void QQuickTextArea::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value) +{ + Q_D(QQuickTextArea); + QQuickTextEdit::itemChange(change, value); + if (change == ItemParentHasChanged && isComponentComplete()) + d->resolveFont(); +} + void QQuickTextArea::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) { Q_D(QQuickTextArea); diff --git a/src/templates/qquicktextarea_p.h b/src/templates/qquicktextarea_p.h index 13022ce5..d8326f66 100644 --- a/src/templates/qquicktextarea_p.h +++ b/src/templates/qquicktextarea_p.h @@ -88,6 +88,9 @@ Q_SIGNALS: void pressAndHold(QQuickMouseEvent *event); protected: + void classBegin() Q_DECL_OVERRIDE; + + void itemChange(ItemChange change, const ItemChangeData &value) Q_DECL_OVERRIDE; void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) Q_DECL_OVERRIDE; QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *data) Q_DECL_OVERRIDE; void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE; diff --git a/src/templates/qquicktextfield.cpp b/src/templates/qquicktextfield.cpp index dd8ef362..50d49c11 100644 --- a/src/templates/qquicktextfield.cpp +++ b/src/templates/qquicktextfield.cpp @@ -309,6 +309,21 @@ void QQuickTextField::setPlaceholderText(const QString &text) } } +void QQuickTextField::classBegin() +{ + Q_D(QQuickTextField); + QQuickTextInput::classBegin(); + d->resolveFont(); +} + +void QQuickTextField::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value) +{ + Q_D(QQuickTextField); + QQuickTextInput::itemChange(change, value); + if (change == ItemParentHasChanged && isComponentComplete()) + d->resolveFont(); +} + void QQuickTextField::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) { Q_D(QQuickTextField); diff --git a/src/templates/qquicktextfield_p.h b/src/templates/qquicktextfield_p.h index c219fa79..d8b20225 100644 --- a/src/templates/qquicktextfield_p.h +++ b/src/templates/qquicktextfield_p.h @@ -88,6 +88,9 @@ Q_SIGNALS: void pressAndHold(QQuickMouseEvent *mouse); protected: + void classBegin() Q_DECL_OVERRIDE; + + void itemChange(ItemChange change, const ItemChangeData &value) Q_DECL_OVERRIDE; void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) Q_DECL_OVERRIDE; QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *data) Q_DECL_OVERRIDE; void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE; |