aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickitemviewtransition_p.h
diff options
context:
space:
mode:
authorBea Lam <bea.lam@nokia.com>2012-03-05 18:06:33 +1000
committerQt by Nokia <qt-info@nokia.com>2012-03-13 02:02:49 +0100
commit52d3d361a0db4b0cfdf795b7998733f61ca3082d (patch)
treefee6e5378568a9246ae28aa52c3195240d715e9b /src/quick/items/qquickitemviewtransition_p.h
parentfb1ce5ed0dc037ba6cd66b34321a43a82de6bd0e (diff)
Displaced items were moving unnecessarily
They should only move if they actually change from the last set position, and not if they are simply changing from their current item position, as that is wrong during an animation. This also cleans up some code for resetting the transition data. Task-number: QTBUG-24586 Change-Id: I0a6635903975ebc40d5cf8398b943a9de92d4493 Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'src/quick/items/qquickitemviewtransition_p.h')
-rw-r--r--src/quick/items/qquickitemviewtransition_p.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/quick/items/qquickitemviewtransition_p.h b/src/quick/items/qquickitemviewtransition_p.h
index a4babdca05..9e17385c46 100644
--- a/src/quick/items/qquickitemviewtransition_p.h
+++ b/src/quick/items/qquickitemviewtransition_p.h
@@ -142,11 +142,15 @@ public:
void startTransition(QQuickItemViewTransitioner *transitioner, int index);
QPointF nextTransitionTo;
+ QPointF lastMovedTo;
+ QPointF nextTransitionFrom;
QQuickItem *item;
QQuickItemViewTransitionJob *transition;
QQuickItemViewTransitioner::TransitionType nextTransitionType;
bool isTransitionTarget;
bool nextTransitionToSet;
+ bool nextTransitionFromSet;
+ bool lastMovedToSet;
bool prepared;
private:
@@ -155,7 +159,9 @@ private:
void setNextTransition(QQuickItemViewTransitioner::TransitionType, bool isTargetItem);
bool transitionWillChangePosition() const;
void finishedTransition();
- void resetTransitionData();
+ void resetNextTransitionPos();
+ void clearCurrentScheduledTransition();
+ void stopTransition();
};