aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickitemview.cpp
diff options
context:
space:
mode:
authorMartin Jones <martin.jones@nokia.com>2012-02-03 10:55:19 +1000
committerQt by Nokia <qt-info@nokia.com>2012-02-07 01:15:25 +0100
commit201edf3a34c7a69f5ab905c286ab12b975cdc3da (patch)
treee86369415b0ecf3685c58c4ab18d6e4701e7af45 /src/quick/items/qquickitemview.cpp
parent41462816074b3309efa31febf224120aa66237df (diff)
Section header is not made visible when changing currentIndex.
Make section header visible when setting currentIndex to an item on a section boundary. Could also affect initial position if view size started at 0. Change-Id: Ie65f91826311d34a290d369d8956f1c88f7efb70 Reviewed-by: Bea Lam <bea.lam@nokia.com>
Diffstat (limited to 'src/quick/items/qquickitemview.cpp')
-rw-r--r--src/quick/items/qquickitemview.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp
index 513a600046..f09be2b54f 100644
--- a/src/quick/items/qquickitemview.cpp
+++ b/src/quick/items/qquickitemview.cpp
@@ -817,9 +817,6 @@ void QQuickItemView::trackedPositionChanged()
if (d->moveReason == QQuickItemViewPrivate::SetIndex) {
qreal trackedPos = d->trackedItem->position();
qreal trackedSize = d->trackedItem->size();
- if (d->trackedItem != d->currentItem) {
- trackedSize += d->currentItem->sectionSize();
- }
qreal viewPos = d->isContentFlowReversed() ? -d->position()-d->size() : d->position();
qreal pos = viewPos;
if (d->haveHighlightRange) {
@@ -834,6 +831,11 @@ void QQuickItemView::trackedPositionChanged()
pos = d->startPosition();
}
} else {
+ if (d->trackedItem != d->currentItem) {
+ // also make section header visible
+ trackedPos -= d->currentItem->sectionSize();
+ trackedSize += d->currentItem->sectionSize();
+ }
qreal trackedEndPos = d->trackedItem->endPosition();
qreal toItemPos = d->currentItem->position();
qreal toItemEndPos = d->currentItem->endPosition();