[gnome-shell] system: Track buttonGroup visibility using a group of actors
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] system: Track buttonGroup visibility using a group of actors
- Date: Mon, 9 Sep 2019 19:38:35 +0000 (UTC)
commit a497afe695a9966c66efb40d1da4f255df632dfa
Author: Marco Trevisan (Treviño) <mail 3v1n0 net>
Date: Sat Aug 31 23:09:04 2019 +0200
system: Track buttonGroup visibility using a group of actors
Cleanup the visibility check on actions by using an array of actors to
track, so that we don't repeat the same variables multiple times.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/700
js/ui/status/system.js | 30 ++++++++++++------------------
1 file changed, 12 insertions(+), 18 deletions(-)
---
diff --git a/js/ui/status/system.js b/js/ui/status/system.js
index 2b2d991842..f18a8e270e 100644
--- a/js/ui/status/system.js
+++ b/js/ui/status/system.js
@@ -137,15 +137,6 @@ var Indicator = class extends PanelMenu.SystemIndicator {
this._sessionUpdated();
}
- _updateActionsVisibility() {
- let visible = (this._settingsAction.visible ||
- this._orientationLockAction.visible ||
- this._lockScreenAction.visible ||
- this._altSwitcher.actor.visible);
-
- this.buttonGroup.visible = visible;
- }
-
_sessionUpdated() {
this._settingsAction.visible = Main.sessionMode.allowSettings;
}
@@ -302,15 +293,18 @@ var Indicator = class extends PanelMenu.SystemIndicator {
this.menu.addMenuItem(item);
-
- this._settingsAction.connect('notify::visible',
- () => this._updateActionsVisibility());
- this._orientationLockAction.connect('notify::visible',
- () => this._updateActionsVisibility());
- this._lockScreenAction.connect('notify::visible',
- () => this._updateActionsVisibility());
- this._altSwitcher.actor.connect('notify::visible',
- () => this._updateActionsVisibility());
+ let visibilityGroup = [
+ this._settingsAction,
+ this._orientationLockAction,
+ this._lockScreenAction,
+ this._altSwitcher.actor,
+ ];
+
+ for (let actor of visibilityGroup) {
+ actor.connect('notify::visible', () => {
+ this.buttonGroup.visible = visibilityGroup.some(a => a.visible);
+ });
+ }
}
_onSettingsClicked() {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]