aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickgridview.cpp
diff options
context:
space:
mode:
authorBea Lam <bea.lam@nokia.com>2012-03-05 18:05:40 +1000
committerQt by Nokia <qt-info@nokia.com>2012-03-10 05:47:00 +0100
commited74ec4c40f1476c545bcaacb12fe3a607172035 (patch)
treef999cdc2ad4f305d4811f84acd345d0cb359421b /src/quick/items/qquickgridview.cpp
parentfc741d3ac3f3b4da330100da10ce1a800cdb467b (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.cpp8
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) {