[gnome-shell] background: Inherit Animation from GnomeDesktop.BGSlideShow
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] background: Inherit Animation from GnomeDesktop.BGSlideShow
- Date: Fri, 8 Nov 2019 23:18:27 +0000 (UTC)
commit 348e4ac9018da294784759cae761ebea97864609
Author: Marco Trevisan (Treviño) <mail 3v1n0 net>
Date: Wed May 29 01:21:51 2019 +0200
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
js/ui/background.js | 23 +++++++++--------------
1 file changed, 9 insertions(+), 14 deletions(-)
---
diff --git a/js/ui/background.js b/js/ui/background.js
index f99ad381c1..4dde09101d 100644
--- a/js/ui/background.js
+++ b/js/ui/background.js
@@ -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) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]