wanda: Update code to use Panel.Animation
This simplifies our code tremendously.
This commit is contained in:
parent
a46321baa0
commit
858694f4cc
@ -9,6 +9,7 @@ const St = imports.gi.St;
|
|||||||
const IconGrid = imports.ui.iconGrid;
|
const IconGrid = imports.ui.iconGrid;
|
||||||
const Layout = imports.ui.layout;
|
const Layout = imports.ui.layout;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
|
const Panel = imports.ui.panel;
|
||||||
const Search = imports.ui.search;
|
const Search = imports.ui.search;
|
||||||
|
|
||||||
// we could make these gsettings
|
// we could make these gsettings
|
||||||
@ -53,21 +54,9 @@ const WandaIcon = new Lang.Class({
|
|||||||
icon_size: iconSize });
|
icon_size: iconSize });
|
||||||
}
|
}
|
||||||
|
|
||||||
this._animations = St.TextureCache.get_default().load_sliced_image(this._imageFile,
|
this._animations = new Panel.Animation(this._imageFile, this._imgWidth, this._imgHeight, FISH_SPEED);
|
||||||
this._imgWidth, this._imgHeight, Lang.bind(this,
|
this._animations.play();
|
||||||
function() {
|
return this._animations.actor;
|
||||||
if (this._animations.mapped && !this._timeoutId) {
|
|
||||||
this._timeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, FISH_SPEED, Lang.bind(this, this._update));
|
|
||||||
|
|
||||||
this._i = 0;
|
|
||||||
this._update();
|
|
||||||
} else if (!this._animations.mapped && this._timeoutId) {
|
|
||||||
GLib.source_remove(this._timeoutId);
|
|
||||||
this._timeoutId = 0;
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
|
|
||||||
return this._animations;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_createIconTexture: function(size) {
|
_createIconTexture: function(size) {
|
||||||
@ -75,20 +64,7 @@ const WandaIcon = new Lang.Class({
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
this.parent(size);
|
this.parent(size);
|
||||||
},
|
|
||||||
|
|
||||||
_update: function() {
|
|
||||||
let n = this._animations.get_n_children();
|
|
||||||
if (n == 0) {
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this._animations.get_child_at_index(this._i).hide();
|
|
||||||
this._i = (this._i + 1) % n;
|
|
||||||
this._animations.get_child_at_index(this._i).show();
|
|
||||||
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const WandaIconBin = new Lang.Class({
|
const WandaIconBin = new Lang.Class({
|
||||||
|
Loading…
Reference in New Issue
Block a user