diff options
author | Bea Lam <bea.lam@nokia.com> | 2012-03-07 13:29:20 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-10 00:58:12 +0100 |
commit | 78356f6038065227acb2dc898994765f49f07b42 (patch) | |
tree | 2749621a6209b809660c128e0cb06402f786b5ec /src/quick/items/qquickgridview.cpp | |
parent | 3c94c7eb7e622051677eb319f6a79e5edb8e2a12 (diff) |
Avoid using QQuickViewItem as base class
This patch renames it to QQuickItemViewTransitionableItem, and
FxViewItem and PositionedItem now create instances of this instead of
subclassing it, to reduce the memory used when transitions are not
required.
Change-Id: Ie050cda5a121bff9542c7ba7356f6eacf37d241a
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Diffstat (limited to 'src/quick/items/qquickgridview.cpp')
-rw-r--r-- | src/quick/items/qquickgridview.cpp | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/src/quick/items/qquickgridview.cpp b/src/quick/items/qquickgridview.cpp index a78ab4c4e5..7c4f95faed 100644 --- a/src/quick/items/qquickgridview.cpp +++ b/src/quick/items/qquickgridview.cpp @@ -2165,12 +2165,10 @@ bool QQuickGridViewPrivate::applyInsertionChange(const QQuickChangeSet::Insert & FxViewItem *item = visibleItems.at(i); if (item->index != -1 && item->index >= modelIndex) { item->index += count; - if (transitioner) { - if (change.isMove()) - transitioner->transitionNextReposition(item, QQuickItemViewTransitioner::MoveTransition, false); - else - transitioner->transitionNextReposition(item, QQuickItemViewTransitioner::AddTransition, false); - } + if (change.isMove()) + item->transitionNextReposition(transitioner, QQuickItemViewTransitioner::MoveTransition, false); + else + item->transitionNextReposition(transitioner, QQuickItemViewTransitioner::AddTransition, false); } } @@ -2201,8 +2199,7 @@ bool QQuickGridViewPrivate::applyInsertionChange(const QQuickChangeSet::Insert & insertResult->changedFirstItem = true; if (!change.isMove()) { addedItems->append(item); - if (transitioner) - transitioner->transitionNextReposition(item, QQuickItemViewTransitioner::AddTransition, true); + item->transitionNextReposition(transitioner, QQuickItemViewTransitioner::AddTransition, true); } insertResult->sizeChangesBeforeVisiblePos += rowSize(); } @@ -2239,8 +2236,7 @@ bool QQuickGridViewPrivate::applyInsertionChange(const QQuickChangeSet::Insert & movingIntoView->append(MovedItem(item, change.moveKey(item->index))); } else { addedItems->append(item); - if (transitioner) - transitioner->transitionNextReposition(item, QQuickItemViewTransitioner::AddTransition, true); + item->transitionNextReposition(transitioner, QQuickItemViewTransitioner::AddTransition, true); } insertResult->sizeChangesAfterVisiblePos += rowSize(); @@ -2291,7 +2287,7 @@ void QQuickGridViewPrivate::translateAndTransitionItemsAfter(int afterModelIndex qreal origColPos = gridItem->rowPos(); int indexDiff = gridItem->index - countItemsRemoved; gridItem->setPosition((indexDiff % columns) * colSize(), (indexDiff / columns) * rowSize()); - transitioner->transitionNextReposition(gridItem, QQuickItemViewTransitioner::RemoveTransition, false); + gridItem->transitionNextReposition(transitioner, QQuickItemViewTransitioner::RemoveTransition, false); gridItem->setPosition(origRowPos, origColPos); } } |