aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickcontrols2/qquickiconlabel_p_p.h
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-04-11 16:42:12 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2017-04-11 18:33:32 +0000
commit53a101f35b76ccea0e8a6bd00055259811df41d1 (patch)
treea757b336e9c63ec0d4e8a79c06341c7c33451806 /src/quickcontrols2/qquickiconlabel_p_p.h
parent4503d45b93721e516e949419f3b9c6b796a7c13e (diff)
QQuickIconLabel: create icon and label items lazily
Before: Average: 120.2 frames; using samples; MedianAll=120; StdDev=0.447214, CoV=0.00372058 After: Average: 129.8 frames; using samples; MedianAll=130; StdDev=0.447214, CoV=0.00344541 Task-number: QTBUG-59746 Change-Id: I44b521688cd60e7e287968828f9d4062cc642a0d Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'src/quickcontrols2/qquickiconlabel_p_p.h')
-rw-r--r--src/quickcontrols2/qquickiconlabel_p_p.h30
1 files changed, 27 insertions, 3 deletions
diff --git a/src/quickcontrols2/qquickiconlabel_p_p.h b/src/quickcontrols2/qquickiconlabel_p_p.h
index bdd3e373..00c2d404 100644
--- a/src/quickcontrols2/qquickiconlabel_p_p.h
+++ b/src/quickcontrols2/qquickiconlabel_p_p.h
@@ -54,6 +54,10 @@
QT_BEGIN_NAMESPACE
+class QQuickText;
+class QQuickIcon;
+class QQuickIconImage;
+
class QQuickIconLabelPrivate : public QQuickItemPrivate, public QQuickItemChangeListener
{
Q_DECLARE_PUBLIC(QQuickIconLabel)
@@ -61,6 +65,22 @@ class QQuickIconLabelPrivate : public QQuickItemPrivate, public QQuickItemChange
public:
explicit QQuickIconLabelPrivate();
+ bool hasIcon() const;
+ bool hasText() const;
+
+ bool createImage();
+ bool destroyImage();
+ bool updateImage();
+ void syncImage();
+ void updateOrSyncImage();
+
+ bool createLabel();
+ bool destroyLabel();
+ bool updateLabel();
+ void syncLabel();
+ void updateOrSyncLabel();
+
+ void updateIcon();
void updateImplicitSize();
void layout();
@@ -74,16 +94,20 @@ public:
void itemImplicitHeightChanged(QQuickItem *) override;
void itemDestroyed(QQuickItem *item) override;
- QQuickItem *icon;
- QQuickItem *label;
+ bool mirrored;
QQuickIconLabel::Display display;
Qt::Alignment alignment;
qreal spacing;
- bool mirrored;
qreal topPadding;
qreal leftPadding;
qreal rightPadding;
qreal bottomPadding;
+ QFont font;
+ QColor color;
+ QString text;
+ QQuickIcon *icon;
+ QQuickIconImage *image;
+ QQuickText *label;
};
QT_END_NAMESPACE