aboutsummaryrefslogtreecommitdiffstats
path: root/src/templates
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2015-11-18 13:58:15 +0100
committerLiang Qi <liang.qi@theqtcompany.com>2015-12-01 15:04:28 +0000
commit5823d6230f5b1fbbd27c3b00b334e062a21b3d65 (patch)
tree1bdaa7d71cb6900dec97415a7bb3b91b82984143 /src/templates
parent0928dc2924e09a38c58513d82887e6d75a112eb0 (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.cpp9
-rw-r--r--src/templates/qquickcontrol_p.h2
-rw-r--r--src/templates/qquicklabel.cpp15
-rw-r--r--src/templates/qquicklabel_p.h3
-rw-r--r--src/templates/qquicktextarea.cpp15
-rw-r--r--src/templates/qquicktextarea_p.h3
-rw-r--r--src/templates/qquicktextfield.cpp15
-rw-r--r--src/templates/qquicktextfield_p.h3
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;