diff options
author | Bea Lam <bea.lam@nokia.com> | 2012-05-10 15:15:50 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-05-14 03:03:36 +0200 |
commit | 73a5e30f44aa2cbb9a181bd9d47ffa9d942f0cfb (patch) | |
tree | 888b20797c52c4adc59f248d34ecee3fb81afa1c /src | |
parent | bd5e23a00e97603c1cc73328c508a044f1528802 (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.cpp | 20 |
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() |