From ac3bc03f3fd48b06f6179c055cf37b34c21038d4 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Mon, 1 Jul 2019 23:25:19 -0300 Subject: [PATCH] iconGrid: Implicitly animate icon positions Add a proper easing state, and animate icon positions using Clutter implicit animations. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/603 --- js/ui/iconGrid.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/js/ui/iconGrid.js b/js/ui/iconGrid.js index 5b07ea871..3cf84f65b 100644 --- a/js/ui/iconGrid.js +++ b/js/ui/iconGrid.js @@ -374,7 +374,11 @@ var IconGrid = GObject.registerClass({ } else { if (!animating) children[i].opacity = 255; + + children[i].save_easing_state(); + children[i].set_easing_mode(Clutter.AnimationMode.EASE_OUT_QUAD); children[i].allocate(childBox, flags); + children[i].restore_easing_state(); } columnIndex++; @@ -1098,7 +1102,12 @@ var PaginatedIconGrid = GObject.registerClass({ for (let i = 0; i < children.length; i++) { let childBox = this._calculateChildBox(children[i], x, y, box); + + children[i].save_easing_state(); + children[i].set_easing_mode(Clutter.AnimationMode.EASE_OUT_QUAD); children[i].allocate(childBox, flags); + children[i].restore_easing_state(); + children[i].show(); columnIndex++;