[gnome-shell] animation: Add parameter for hiding stopped Spinner actor
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] animation: Add parameter for hiding stopped Spinner actor
- Date: Tue, 19 Nov 2019 19:12:14 +0000 (UTC)
commit 8f4e91a738ee09e60fb193c5953aded1bed5915a
Author: Joonas Henriksson <joonas henriksson gmail com>
Date: Mon Nov 18 22:24:05 2019 +0200
animation: Add parameter for hiding stopped Spinner actor
Not hiding leaves the empty actor space visible, which may have an
undesirable effect on the parent element's size or spacing/padding.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/832
js/ui/animation.js | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/animation.js b/js/ui/animation.js
index 6002a3754e..5cd9f3a207 100644
--- a/js/ui/animation.js
+++ b/js/ui/animation.js
@@ -141,12 +141,15 @@ class Spinner extends AnimatedIcon {
_init(size, params) {
params = Params.parse(params, {
animate: false,
+ hideOnStop: false,
});
let file = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/process-working.svg');
super._init(file, size);
this.opacity = 0;
this._animate = params.animate;
+ this._hideOnStop = params.hideOnStop;
+ this.visible = !this._hideOnStop;
}
_onDestroy() {
@@ -156,6 +159,7 @@ class Spinner extends AnimatedIcon {
play() {
this.remove_all_transitions();
+ this.show();
if (this._animate) {
super.play();
@@ -179,11 +183,18 @@ class Spinner extends AnimatedIcon {
opacity: 0,
duration: SPINNER_ANIMATION_TIME,
mode: Clutter.AnimationMode.LINEAR,
- onComplete: () => super.stop(),
+ onComplete: () => {
+ super.stop();
+ if (this._hideOnStop)
+ this.hide();
+ },
});
} else {
this.opacity = 0;
super.stop();
+
+ if (this._hideOnStop)
+ this.hide();
}
}
});
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]