iconGrid: Make actors non reactive while animating
Although the actor are with opacity 0, they were reactive, so the if the user quickly make a click on the grid while animating it can launch an app accidentally. To avoid that make the actors non reactive while animating.
This commit is contained in:
parent
3deaeb4a90
commit
9e5704b498
@ -432,6 +432,7 @@ const IconGrid = new Lang.Class({
|
|||||||
for (let index = 0; index < actors.length; index++) {
|
for (let index = 0; index < actors.length; index++) {
|
||||||
let actor = actors[index];
|
let actor = actors[index];
|
||||||
actor.opacity = 0;
|
actor.opacity = 0;
|
||||||
|
actor.reactive = false;
|
||||||
|
|
||||||
let delay = index / actors.length * ANIMATION_MAX_DELAY_FOR_ITEM;
|
let delay = index / actors.length * ANIMATION_MAX_DELAY_FOR_ITEM;
|
||||||
let [originalX, originalY] = actor.get_transformed_position();
|
let [originalX, originalY] = actor.get_transformed_position();
|
||||||
@ -465,6 +466,7 @@ const IconGrid = new Lang.Class({
|
|||||||
this._animationDone();
|
this._animationDone();
|
||||||
|
|
||||||
actor.opacity = 255;
|
actor.opacity = 255;
|
||||||
|
actor.reactive = true;
|
||||||
actorClone.destroy();
|
actorClone.destroy();
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
@ -508,6 +510,7 @@ const IconGrid = new Lang.Class({
|
|||||||
for (let index = 0; index < actors.length; index++) {
|
for (let index = 0; index < actors.length; index++) {
|
||||||
let actor = actors[index];
|
let actor = actors[index];
|
||||||
actor.opacity = 0;
|
actor.opacity = 0;
|
||||||
|
actor.reactive = false;
|
||||||
|
|
||||||
let actorClone = new Clutter.Clone({ source: actor });
|
let actorClone = new Clutter.Clone({ source: actor });
|
||||||
Main.uiGroup.add_actor(actorClone);
|
Main.uiGroup.add_actor(actorClone);
|
||||||
@ -542,6 +545,7 @@ const IconGrid = new Lang.Class({
|
|||||||
this._animationDone();
|
this._animationDone();
|
||||||
|
|
||||||
actor.opacity = 255;
|
actor.opacity = 255;
|
||||||
|
actor.reactive = true;
|
||||||
actorClone.destroy();
|
actorClone.destroy();
|
||||||
})};
|
})};
|
||||||
fadeParams = { time: ANIMATION_FADE_IN_TIME_FOR_ITEM,
|
fadeParams = { time: ANIMATION_FADE_IN_TIME_FOR_ITEM,
|
||||||
|
Loading…
Reference in New Issue
Block a user