aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBea Lam <bea.lam@nokia.com>2012-05-10 15:15:50 +1000
committerQt by Nokia <qt-info@nokia.com>2012-05-14 03:03:36 +0200
commit73a5e30f44aa2cbb9a181bd9d47ffa9d942f0cfb (patch)
tree888b20797c52c4adc59f248d34ecee3fb81afa1c /src
parentbd5e23a00e97603c1cc73328c508a044f1528802 (diff)
Fix xOrigin and yOrigin to always be top-left pos
Currently xOrigin is reversed for right-to-left and yOrigin is reversed for bottom-to-top. This is wrong since xOrigin and yOrigin come from Flickable so they should keep that meaning, i.e. the top left corner of where the content begins, in ListView and GridView. Change-Id: I88c77fadd1cf784f4b4d62677168b84675e921b0 Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'src')
-rw-r--r--src/quick/items/qquickitemview.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp
index 1b48a32fe6..bab505e790 100644
--- a/src/quick/items/qquickitemview.cpp
+++ b/src/quick/items/qquickitemview.cpp
@@ -1344,19 +1344,23 @@ void QQuickItemView::setContentY(qreal pos)
qreal QQuickItemView::xOrigin() const
{
Q_D(const QQuickItemView);
- if (d->isContentFlowReversed())
- return -maxXExtent() + d->size() - d->hData.endMargin;
- else
- return -minXExtent() + d->hData.startMargin;
+ if (d->layoutOrientation() == Qt::Horizontal
+ && effectiveLayoutDirection() == Qt::RightToLeft
+ && contentWidth() < width()) {
+ return d->lastPosition() - d->footerSize();
+ }
+ return QQuickFlickable::xOrigin();
}
qreal QQuickItemView::yOrigin() const
{
Q_D(const QQuickItemView);
- if (d->isContentFlowReversed())
- return -maxYExtent() + d->size() - d->vData.endMargin;
- else
- return -minYExtent() + d->vData.startMargin;
+ if (d->layoutOrientation() == Qt::Vertical
+ && d->verticalLayoutDirection == QQuickItemView::BottomToTop
+ && contentHeight() < height()) {
+ return d->lastPosition() - d->footerSize();
+ }
+ return QQuickFlickable::yOrigin();
}
void QQuickItemView::updatePolish()