background: Inherit Animation from GnomeDesktop.BGSlideShow
Animation background is just wrapping a native GnomeDesktop BGSlideShow object, so instead of using composition we can now just inherit from the native GObject, re-using native properties when possible, and avoiding to keep an extra wrapper to the bg file. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/563
This commit is contained in:
parent
5944a1e74b
commit
348e4ac901
@ -625,11 +625,11 @@ var BackgroundSource = class BackgroundSource {
|
||||
}
|
||||
};
|
||||
|
||||
var Animation = class Animation {
|
||||
constructor(params) {
|
||||
params = Params.parse(params, { file: null });
|
||||
var Animation = GObject.registerClass(
|
||||
class Animation extends GnomeDesktop.BGSlideShow {
|
||||
_init(params) {
|
||||
super._init(params);
|
||||
|
||||
this.file = params.file;
|
||||
this.keyFrameFiles = [];
|
||||
this.transitionProgress = 0.0;
|
||||
this.transitionDuration = 0.0;
|
||||
@ -637,9 +637,7 @@ var Animation = class Animation {
|
||||
}
|
||||
|
||||
load(callback) {
|
||||
this._show = new GnomeDesktop.BGSlideShow({ file: this.file });
|
||||
|
||||
this._show.load_async(null, () => {
|
||||
this.load_async(null, () => {
|
||||
this.loaded = true;
|
||||
if (callback)
|
||||
callback();
|
||||
@ -649,13 +647,11 @@ var Animation = class Animation {
|
||||
update(monitor) {
|
||||
this.keyFrameFiles = [];
|
||||
|
||||
if (!this._show)
|
||||
if (this.get_num_slides() < 1)
|
||||
return;
|
||||
|
||||
if (this._show.get_num_slides() < 1)
|
||||
return;
|
||||
|
||||
let [progress, duration, isFixed_, filename1, filename2] = this._show.get_current_slide(monitor.width, monitor.height);
|
||||
let [progress, duration, isFixed_, filename1, filename2] =
|
||||
this.get_current_slide(monitor.width, monitor.height);
|
||||
|
||||
this.transitionDuration = duration;
|
||||
this.transitionProgress = progress;
|
||||
@ -666,8 +662,7 @@ var Animation = class Animation {
|
||||
if (filename2)
|
||||
this.keyFrameFiles.push(Gio.File.new_for_path(filename2));
|
||||
}
|
||||
};
|
||||
Signals.addSignalMethods(Animation.prototype);
|
||||
});
|
||||
|
||||
var BackgroundManager = class BackgroundManager {
|
||||
constructor(params) {
|
||||
|
Loading…
Reference in New Issue
Block a user