aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-11-15 09:11:03 +0100
committerLiang Qi <liang.qi@qt.io>2017-11-15 09:11:04 +0100
commit558b3d09e21fe1e0cc43d82fc76e3eea981d82d2 (patch)
treecb5ef85534ab3bb08ca03ba7e8c320a58b1642b7 /src/quicktemplates2
parent442843db6f5dce6b594448d43b380c9b884a7c91 (diff)
parenta0559ea88be32e19e83b2131cb26e61e873dc817 (diff)
Merge remote-tracking branch 'origin/5.9' into 5.10
Diffstat (limited to 'src/quicktemplates2')
-rw-r--r--src/quicktemplates2/qquickdialogbuttonbox.cpp15
-rw-r--r--src/quicktemplates2/qquickslider.cpp6
2 files changed, 9 insertions, 12 deletions
diff --git a/src/quicktemplates2/qquickdialogbuttonbox.cpp b/src/quicktemplates2/qquickdialogbuttonbox.cpp
index b6a9d757..cd971139 100644
--- a/src/quicktemplates2/qquickdialogbuttonbox.cpp
+++ b/src/quicktemplates2/qquickdialogbuttonbox.cpp
@@ -197,13 +197,13 @@ static QRectF alignedRect(Qt::LayoutDirection direction, Qt::Alignment alignment
qreal w = size.width();
qreal h = size.height();
if ((alignment & Qt::AlignVCenter) == Qt::AlignVCenter)
- y += rectangle.size().height() / 2 - h / 2;
+ y += (rectangle.size().height() - h) / 2;
else if ((alignment & Qt::AlignBottom) == Qt::AlignBottom)
y += rectangle.size().height() - h;
if ((alignment & Qt::AlignRight) == Qt::AlignRight)
x += rectangle.size().width() - w;
else if ((alignment & Qt::AlignHCenter) == Qt::AlignHCenter)
- x += rectangle.size().width() / 2 - w / 2;
+ x += (rectangle.size().width() - w) / 2;
return QRectF(x, y, w, h);
}
@@ -213,15 +213,12 @@ void QQuickDialogButtonBoxPrivate::resizeContent()
if (!contentItem)
return;
- const int halign = alignment & Qt::AlignHorizontal_Mask;
- const int valign = alignment & Qt::AlignVertical_Mask;
-
- const qreal cw = !halign ? q->availableWidth() : contentItem->implicitWidth();
- const qreal ch = !valign ? q->availableHeight() : contentItem->implicitHeight();
-
QRectF geometry = q->boundingRect().adjusted(q->leftPadding(), q->topPadding(), -q->rightPadding(), -q->bottomPadding());
- if (halign || valign)
+ if (alignment != 0) {
+ qreal cw = (alignment & Qt::AlignHorizontal_Mask) == 0 ? q->availableWidth() : contentItem->implicitWidth();
+ qreal ch = (alignment & Qt::AlignVertical_Mask) == 0 ? q->availableHeight() : contentItem->implicitHeight();
geometry = alignedRect(q->isMirrored() ? Qt::RightToLeft : Qt::LeftToRight, alignment, QSizeF(cw, ch), geometry);
+ }
contentItem->setPosition(geometry.topLeft());
contentItem->setSize(geometry.size());
diff --git a/src/quicktemplates2/qquickslider.cpp b/src/quicktemplates2/qquickslider.cpp
index 8628f981..b358663d 100644
--- a/src/quicktemplates2/qquickslider.cpp
+++ b/src/quicktemplates2/qquickslider.cpp
@@ -545,10 +545,10 @@ void QQuickSlider::setHandle(QQuickItem *handle)
qreal QQuickSlider::valueAt(qreal position) const
{
Q_D(const QQuickSlider);
- const qreal value = d->from + (d->to - d->from) * position;
+ const qreal value = (d->to - d->from) * position;
if (qFuzzyIsNull(d->stepSize))
- return value;
- return qRound(value / d->stepSize) * d->stepSize;
+ return d->from + value;
+ return d->from + qRound(value / d->stepSize) * d->stepSize;
}
/*!