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
This commit is contained in:
parent
d6020f1402
commit
9bbf293898
@ -250,6 +250,7 @@ Dash.prototype = {
|
|||||||
_init : function() {
|
_init : function() {
|
||||||
this._maxHeight = -1;
|
this._maxHeight = -1;
|
||||||
this._iconSize = 48;
|
this._iconSize = 48;
|
||||||
|
this._shownInitially = false;
|
||||||
|
|
||||||
this._dragPlaceholder = null;
|
this._dragPlaceholder = null;
|
||||||
this._dragPlaceholderPos = -1;
|
this._dragPlaceholderPos = -1;
|
||||||
@ -564,6 +565,13 @@ Dash.prototype = {
|
|||||||
if (this._favRemoveTarget && this._favRemoveTarget.hiding)
|
if (this._favRemoveTarget && this._favRemoveTarget.hiding)
|
||||||
this._favRemoveTarget.actor.show();
|
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++) {
|
for (let i = 0; i < removedActors.length; i++) {
|
||||||
removedActors[i].show();
|
removedActors[i].show();
|
||||||
let item = removedActors[i]._delegate;
|
let item = removedActors[i]._delegate;
|
||||||
|
Loading…
Reference in New Issue
Block a user