popupMenu/switch: Follow "show-status-shapes" setting

Whether or not switches include shapes to indicate their ON/OFF
state is currently controlled by the stylesheet.

However there are use cases for both using the HighContrast style
without shapes, and for using shapes with the regular styesheet,
so follow the newly added "show-status-shapes" setting instead.

https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2675

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3107>
This commit is contained in:
Florian Müllner 2024-01-10 19:53:58 +01:00 committed by Marge Bot
parent 672ca4a1c5
commit ccdd3f5f53

View File

@ -368,7 +368,11 @@ export const Switch = GObject.registerClass({
});
box.add_child(this._offIcon);
St.Settings.get().connectObject('notify::high-contrast',
this._a11ySettings = new Gio.Settings({
schema_id: 'org.gnome.desktop.a11y.interface',
});
this._a11ySettings.connectObject('changed::show-status-shapes',
() => this._updateIconOpacity(),
this);
this.connect('notify::state',
@ -377,7 +381,7 @@ export const Switch = GObject.registerClass({
}
_updateIconOpacity() {
const activeOpacity = St.Settings.get().high_contrast
const activeOpacity = this._a11ySettings.get_boolean('show-status-shapes')
? 255. : 0.;
this._onIcon.opacity = this.state