status/location: Use correct enabled state
Commit e3a1d84992
split out the agent from the indicator, but kept
using a local 'enabled' property with no connection at all to the
actual state.
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5043
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2170>
This commit is contained in:
parent
d7d484a8cd
commit
5628849a40
@ -232,7 +232,8 @@ class Indicator extends PanelMenu.SystemIndicator {
|
|||||||
GObject.BindingFlags.SYNC_CREATE);
|
GObject.BindingFlags.SYNC_CREATE);
|
||||||
|
|
||||||
this._item.label.text = _('Location Enabled');
|
this._item.label.text = _('Location Enabled');
|
||||||
this._onOffAction = this._item.menu.addAction(_('Disable'), this._onOnOffAction.bind(this));
|
this._onOffAction = this._item.menu.addAction(_('Disable'),
|
||||||
|
() => (this._agent.enabled = !this._agent.enabled));
|
||||||
this._item.menu.addSettingsAction(_('Privacy Settings'), 'gnome-location-panel.desktop');
|
this._item.menu.addSettingsAction(_('Privacy Settings'), 'gnome-location-panel.desktop');
|
||||||
|
|
||||||
this.menu.addMenuItem(this._item);
|
this.menu.addMenuItem(this._item);
|
||||||
@ -251,17 +252,13 @@ class Indicator extends PanelMenu.SystemIndicator {
|
|||||||
this._agent.disconnect(this._maxAccuracyId);
|
this._agent.disconnect(this._maxAccuracyId);
|
||||||
}
|
}
|
||||||
|
|
||||||
_onOnOffAction() {
|
|
||||||
this.enabled = !this.enabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
_onSessionUpdated() {
|
_onSessionUpdated() {
|
||||||
let sensitive = !Main.sessionMode.isLocked && !Main.sessionMode.isGreeter;
|
let sensitive = !Main.sessionMode.isLocked && !Main.sessionMode.isGreeter;
|
||||||
this.menu.setSensitive(sensitive);
|
this.menu.setSensitive(sensitive);
|
||||||
}
|
}
|
||||||
|
|
||||||
_updateMenuLabels() {
|
_updateMenuLabels() {
|
||||||
if (this.enabled) {
|
if (this._agent.enabled) {
|
||||||
this._item.label.text = this._indicator.visible
|
this._item.label.text = this._indicator.visible
|
||||||
? _('Location In Use')
|
? _('Location In Use')
|
||||||
: _('Location Enabled');
|
: _('Location Enabled');
|
||||||
|
Loading…
Reference in New Issue
Block a user