diff options
author | Bea Lam <bea.lam@nokia.com> | 2012-03-05 18:05:40 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-10 05:47:00 +0100 |
commit | ed74ec4c40f1476c545bcaacb12fe3a607172035 (patch) | |
tree | f999cdc2ad4f305d4811f84acd345d0cb359421b /src/quick/items/qquickgridview.cpp | |
parent | fc741d3ac3f3b4da330100da10ce1a800cdb467b (diff) |
refilled items should be moved immediately
refill() functionality should reposition items immediately, else
removeNonVisibleItems() sees different positions from those added in
addVisibleItems() if an item is animating.
Change-Id: Ib9904e08bf92b18fd4b712270c0ab69e9a113e04
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'src/quick/items/qquickgridview.cpp')
-rw-r--r-- | src/quick/items/qquickgridview.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/quick/items/qquickgridview.cpp b/src/quick/items/qquickgridview.cpp index 7c4f95faed..78899b27e5 100644 --- a/src/quick/items/qquickgridview.cpp +++ b/src/quick/items/qquickgridview.cpp @@ -120,8 +120,8 @@ public: return itemX() + view->cellWidth(); } } - void setPosition(qreal col, qreal row) { - moveTo(pointForPosition(col, row)); + void setPosition(qreal col, qreal row, bool immediate = false) { + moveTo(pointForPosition(col, row), immediate); } bool contains(qreal x, qreal y) const { return (x >= itemX() && x < itemX() + view->cellWidth() && @@ -483,7 +483,7 @@ bool QQuickGridViewPrivate::addVisibleItems(qreal fillFrom, qreal fillTo, bool d if (!(item = static_cast<FxGridItemSG*>(createItem(modelIndex, doBuffer)))) break; if (!transitioner || !transitioner->canTransition(QQuickItemViewTransitioner::PopulateTransition, true)) // pos will be set by layoutVisibleItems() - item->setPosition(colPos, rowPos); + item->setPosition(colPos, rowPos, true); item->item->setVisible(!doBuffer); visibleItems.append(item); if (++colNum >= columns) { @@ -521,7 +521,7 @@ bool QQuickGridViewPrivate::addVisibleItems(qreal fillFrom, qreal fillTo, bool d break; --visibleIndex; if (!transitioner || !transitioner->canTransition(QQuickItemViewTransitioner::PopulateTransition, true)) // pos will be set by layoutVisibleItems() - item->setPosition(colPos, rowPos); + item->setPosition(colPos, rowPos, true); item->item->setVisible(!doBuffer); visibleItems.prepend(item); if (--colNum < 0) { |