[gnome-shell/benzea/systemd-user-units-with-extension-warning: 3/6] extensionPrefs: Always allow user to enable/disable extensions
- From: Benjamin Berg <bberg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/benzea/systemd-user-units-with-extension-warning: 3/6] extensionPrefs: Always allow user to enable/disable extensions
- Date: Fri, 30 Aug 2019 15:22:54 +0000 (UTC)
commit d9558c700c1e5e5a01208bf42f3708c73e91265b
Author: Benjamin Berg <bberg redhat com>
Date: Thu Aug 1 16:48:56 2019 +0200
extensionPrefs: Always allow user to enable/disable extensions
To do this, simply use the new isRequested property to properly reflect
the underlying settings key rather than the actual loaded state of the
extension.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/695
js/extensionPrefs/main.js | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
---
diff --git a/js/extensionPrefs/main.js b/js/extensionPrefs/main.js
index 54900cefcb..606f9ecd45 100644
--- a/js/extensionPrefs/main.js
+++ b/js/extensionPrefs/main.js
@@ -605,8 +605,11 @@ class ExtensionRow extends Gtk.ListBoxRow {
this._extension = ExtensionUtils.deserializeExtension(newState);
let state = (this._extension.state == ExtensionState.ENABLED);
+ this._switch.freeze_notify();
this._switch.state = state;
+ this._switch.active = this._extension.isRequested;
this._switch.sensitive = this._canToggle();
+ this._switch.thaw_notify();
});
this.connect('destroy', this._onDestroy.bind(this));
@@ -675,7 +678,6 @@ class ExtensionRow extends Gtk.ListBoxRow {
this._switch = new Gtk.Switch({
valign: Gtk.Align.CENTER,
sensitive: this._canToggle(),
- state: this._extension.state === ExtensionState.ENABLED
});
this._switch.connect('notify::active', () => {
if (this._switch.active)
@@ -684,6 +686,11 @@ class ExtensionRow extends Gtk.ListBoxRow {
this._app.shellProxy.DisableExtensionRemote(this.uuid);
});
this._switch.connect('state-set', () => true);
+ this._switch.freeze_notify();
+ this._switch.state = this._extension.state === ExtensionState.ENABLED;
+ this._switch.active = this._extension.isRequested;
+ this._switch.thaw_notify();
+
hbox.add(this._switch);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]