aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickcontrols2
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-04-10 08:42:34 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2017-04-10 08:28:56 +0000
commit762a88cf351be212e7b0e01cb8b93c4b1479e880 (patch)
tree5a7d5f91044e181d581d647dd6ce30f3f7cd2058 /src/quickcontrols2
parent963695b4907f59f5b12699b3dd66fc665762616a (diff)
QQuickIconLabel: use setSize() and setPosition()
Calling setWidth() & setHeight() or setX() & setY() calls the virtual geometryChanged() method twice. Calling setSize() or setPosition() does the move/resize operation in one go. Change-Id: I136b9be1443e6ec11407081010aadc493417c627 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quickcontrols2')
-rw-r--r--src/quickcontrols2/qquickiconlabel.cpp32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/quickcontrols2/qquickiconlabel.cpp b/src/quickcontrols2/qquickiconlabel.cpp
index 476d7808..4ce89edd 100644
--- a/src/quickcontrols2/qquickiconlabel.cpp
+++ b/src/quickcontrols2/qquickiconlabel.cpp
@@ -89,10 +89,10 @@ void QQuickIconLabelPrivate::layout()
switch (display) {
case QQuickIconLabel::IconOnly:
if (icon) {
- icon->setWidth(qMin(icon->implicitWidth(), availableWidth));
- icon->setHeight(qMin(icon->implicitHeight(), availableHeight));
- icon->setX(horizontalCenter - icon->width() / 2);
- icon->setY(verticalCenter - icon->height() / 2);
+ icon->setSize(QSizeF(qMin(icon->implicitWidth(), availableWidth),
+ qMin(icon->implicitHeight(), availableHeight)));
+ icon->setPosition(QPointF(horizontalCenter - icon->width() / 2,
+ verticalCenter - icon->height() / 2));
icon->setVisible(true);
}
if (label)
@@ -100,10 +100,10 @@ void QQuickIconLabelPrivate::layout()
break;
case QQuickIconLabel::TextOnly:
if (label) {
- label->setWidth(qMin(label->implicitWidth(), availableWidth));
- label->setHeight(qMin(label->implicitHeight(), availableHeight));
- label->setX(horizontalCenter - label->width() / 2);
- label->setY(verticalCenter - label->height() / 2);
+ label->setSize(QSizeF(qMin(label->implicitWidth(), availableWidth),
+ qMin(label->implicitHeight(), availableHeight)));
+ label->setPosition(QPointF(horizontalCenter - label->width() / 2,
+ verticalCenter - label->height() / 2));
label->setVisible(true);
}
if (icon)
@@ -115,29 +115,29 @@ void QQuickIconLabelPrivate::layout()
qreal iconWidth = 0;
qreal textWidth = 0;
if (icon) {
- icon->setWidth(qMin(icon->implicitWidth(), availableWidth));
- icon->setHeight(qMin(icon->implicitHeight(), availableHeight));
+ icon->setSize(QSizeF(qMin(icon->implicitWidth(), availableWidth),
+ qMin(icon->implicitHeight(), availableHeight)));
iconWidth = icon->width();
}
qreal effectiveSpacing = 0;
if (label) {
if (iconWidth > 0)
effectiveSpacing = spacing;
- label->setWidth(qMin(label->implicitWidth(), availableWidth - iconWidth - effectiveSpacing));
- label->setHeight(qMin(label->implicitHeight(), availableHeight));
+ label->setSize(QSizeF(qMin(label->implicitWidth(), availableWidth - iconWidth - effectiveSpacing),
+ qMin(label->implicitHeight(), availableHeight)));
textWidth = label->width();
}
const qreal combinedWidth = iconWidth + effectiveSpacing + textWidth;
const qreal contentX = horizontalCenter - combinedWidth / 2;
if (icon) {
- icon->setX(mirrored ? contentX + combinedWidth - iconWidth : contentX);
- icon->setY(verticalCenter - icon->height() / 2);
+ icon->setPosition(QPointF(mirrored ? contentX + combinedWidth - iconWidth : contentX,
+ verticalCenter - icon->height() / 2));
icon->setVisible(true);
}
if (label) {
- label->setX(mirrored ? contentX : contentX + combinedWidth - label->width());
- label->setY(verticalCenter - label->height() / 2);
+ label->setPosition(QPointF(mirrored ? contentX : contentX + combinedWidth - label->width(),
+ verticalCenter - label->height() / 2));
label->setVisible(true);
}
break;