diff options
author | Martin Jones <martin.jones@nokia.com> | 2012-02-03 10:55:19 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-07 01:15:25 +0100 |
commit | 201edf3a34c7a69f5ab905c286ab12b975cdc3da (patch) | |
tree | e86369415b0ecf3685c58c4ab18d6e4701e7af45 /src/quick/items/qquickitemview.cpp | |
parent | 41462816074b3309efa31febf224120aa66237df (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.cpp | 8 |
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(); |