location: Make insensitive when locked
Most system menu entries are disabled on the lock/login screen, there is no good reason for the location entry to be an exception. https://bugzilla.gnome.org/show_bug.cgi?id=726319
This commit is contained in:
parent
4589ce4d78
commit
e70fd5a57a
@ -4,9 +4,10 @@ const GLib = imports.gi.GLib;
|
|||||||
const Gio = imports.gi.Gio;
|
const Gio = imports.gi.Gio;
|
||||||
const Lang = imports.lang;
|
const Lang = imports.lang;
|
||||||
|
|
||||||
const Shell = imports.gi.Shell;
|
const Main = imports.ui.main;
|
||||||
const PanelMenu = imports.ui.panelMenu;
|
const PanelMenu = imports.ui.panelMenu;
|
||||||
const PopupMenu = imports.ui.popupMenu;
|
const PopupMenu = imports.ui.popupMenu;
|
||||||
|
const Shell = imports.gi.Shell;
|
||||||
|
|
||||||
const LOCATION_SCHEMA = 'org.gnome.shell.location';
|
const LOCATION_SCHEMA = 'org.gnome.shell.location';
|
||||||
const MAX_ACCURACY_LEVEL = 'max-accuracy-level';
|
const MAX_ACCURACY_LEVEL = 'max-accuracy-level';
|
||||||
@ -65,6 +66,8 @@ const Indicator = new Lang.Class({
|
|||||||
0,
|
0,
|
||||||
Lang.bind(this, this._connectToGeoclue),
|
Lang.bind(this, this._connectToGeoclue),
|
||||||
Lang.bind(this, this._onGeoclueVanished));
|
Lang.bind(this, this._onGeoclueVanished));
|
||||||
|
Main.sessionMode.connect('updated', Lang.bind(this, this._onSessionUpdated));
|
||||||
|
this._onSessionUpdated();
|
||||||
this._onMaxAccuracyLevelChanged();
|
this._onMaxAccuracyLevelChanged();
|
||||||
this._connectToGeoclue();
|
this._connectToGeoclue();
|
||||||
},
|
},
|
||||||
@ -150,6 +153,11 @@ const Indicator = new Lang.Class({
|
|||||||
this._settings.set_enum(MAX_ACCURACY_LEVEL, 0);
|
this._settings.set_enum(MAX_ACCURACY_LEVEL, 0);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_onSessionUpdated: function() {
|
||||||
|
let sensitive = !Main.sessionMode.isLocked && !Main.sessionMode.isGreeter;
|
||||||
|
this.menu.setSensitive(sensitive);
|
||||||
|
},
|
||||||
|
|
||||||
_onMaxAccuracyLevelChanged: function() {
|
_onMaxAccuracyLevelChanged: function() {
|
||||||
if (this._getMaxAccuracyLevel() == 0) {
|
if (this._getMaxAccuracyLevel() == 0) {
|
||||||
this._item.status.text = _("Off");
|
this._item.status.text = _("Off");
|
||||||
|
Loading…
Reference in New Issue
Block a user