iconGrid: Fix last item check on spring animation
Currently we consider the last item animating being the last actor of the list, but that's wrong since the last item animating depends on the distance between the source actor and the original position of the animated actor. Take that into account to check the last item of the animation.
This commit is contained in:
parent
04030f22a6
commit
2a59478b37
@ -521,11 +521,10 @@ const IconGrid = new Lang.Class({
|
|||||||
let scaleY = sourceScaledHeight / height;
|
let scaleY = sourceScaledHeight / height;
|
||||||
let [adjustedSourcePositionX, adjustedSourcePositionY] = [sourceCenterX - sourceScaledWidth / 2, sourceCenterY - sourceScaledHeight / 2];
|
let [adjustedSourcePositionX, adjustedSourcePositionY] = [sourceCenterX - sourceScaledWidth / 2, sourceCenterY - sourceScaledHeight / 2];
|
||||||
|
|
||||||
// Defeat onComplete anonymous function closure
|
|
||||||
let isLastItem = index == actors.length - 1;
|
|
||||||
|
|
||||||
let movementParams, fadeParams;
|
let movementParams, fadeParams;
|
||||||
if (animationDirection == AnimationDirection.IN) {
|
if (animationDirection == AnimationDirection.IN) {
|
||||||
|
let isLastItem = actor._distance == minDist;
|
||||||
|
|
||||||
actorClone.opacity = 0;
|
actorClone.opacity = 0;
|
||||||
actorClone.set_scale(scaleX, scaleY);
|
actorClone.set_scale(scaleX, scaleY);
|
||||||
|
|
||||||
@ -553,6 +552,8 @@ const IconGrid = new Lang.Class({
|
|||||||
delay: delay,
|
delay: delay,
|
||||||
opacity: 255 };
|
opacity: 255 };
|
||||||
} else {
|
} else {
|
||||||
|
let isLastItem = actor._distance == minDist;
|
||||||
|
|
||||||
let [startX, startY] = actor._transformedPosition;
|
let [startX, startY] = actor._transformedPosition;
|
||||||
actorClone.set_position(startX, startY);
|
actorClone.set_position(startX, startY);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user