From 9bbf293898aa1f84b176267667518d57ae976a28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 2 Feb 2011 16:44:07 +0100 Subject: [PATCH] dash: Avoid "zoom" effect when first shown The dash is created empty and the initial set of items is added before it's shown for the first time. As the additions of items is now animated, this results in a slightly odd effect when all items zoom in at once. So special-case the first time _redisplay() is called and skip animations in that case. https://bugzilla.gnome.org/show_bug.cgi?id=636156 --- js/ui/dash.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/js/ui/dash.js b/js/ui/dash.js index 975d794eb..6417ebb01 100644 --- a/js/ui/dash.js +++ b/js/ui/dash.js @@ -250,6 +250,7 @@ Dash.prototype = { _init : function() { this._maxHeight = -1; this._iconSize = 48; + this._shownInitially = false; this._dragPlaceholder = null; this._dragPlaceholderPos = -1; @@ -564,6 +565,13 @@ Dash.prototype = { if (this._favRemoveTarget && this._favRemoveTarget.hiding) this._favRemoveTarget.actor.show(); + // Skip animations on first run when adding the initial set + // of items, to avoid all items zooming in at once + if (!this._shownInitially) { + this._shownInitially = true; + return; + } + for (let i = 0; i < removedActors.length; i++) { removedActors[i].show(); let item = removedActors[i]._delegate;