quickSettings: Bind the outer button's toggle-mode to the inner buttons

When the `QuickMenuToggle` was a discrete button, it could be set to
toggle mode, but the inner buttons no longer reacts as expected.

Bind the `toggle-mode` property between the `QuickMenuToggle` and its
contents so they behave as single toggle when enabled.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2664>
This commit is contained in:
Andy Holmes 2023-03-01 12:10:57 -08:00 committed by Marge Bot
parent b89d90eb80
commit d5f868bb25

View File

@ -186,9 +186,13 @@ var QuickMenuToggle = GObject.registerClass({
}); });
this._box.add_child(this._menuButton); this._box.add_child(this._menuButton);
this.bind_property('toggle-mode',
contents, 'toggle-mode',
GObject.BindingFlags.SYNC_CREATE);
this.bind_property('checked', this.bind_property('checked',
contents, 'checked', contents, 'checked',
GObject.BindingFlags.SYNC_CREATE); GObject.BindingFlags.SYNC_CREATE |
GObject.BindingFlags.BIDIRECTIONAL);
this.bind_property('title', this.bind_property('title',
contents, 'title', contents, 'title',
GObject.BindingFlags.SYNC_CREATE); GObject.BindingFlags.SYNC_CREATE);