weather: Disentangle _useAutoLocation from Weather setting
We currently use automatic location for weather forecasts if the corresponding Weather setting is set, however we should take other factors into account as well: - whether location services are enabled at all - whether Weather has been authorized to use them In preparation of these changes, track the setting's value in a separate property and make _useAutoLocation a getter, so we can extend it with additional conditions easily. https://bugzilla.gnome.org/show_bug.cgi?id=780252
This commit is contained in:
parent
d393ca4f09
commit
7c9f76944b
@ -20,7 +20,7 @@ const WeatherClient = new Lang.Class({
|
||||
this._locationValid = false;
|
||||
this._lastUpdate = GLib.DateTime.new_from_unix_local(0);
|
||||
|
||||
this._useAutoLocation = false;
|
||||
this._autoLocationRequested = false;
|
||||
this._mostRecentLocation = null;
|
||||
|
||||
this._gclueService = null;
|
||||
@ -81,6 +81,10 @@ const WeatherClient = new Lang.Class({
|
||||
this._loadInfo();
|
||||
},
|
||||
|
||||
get _useAutoLocation() {
|
||||
return this._autoLocationRequested;
|
||||
},
|
||||
|
||||
_loadInfo: function() {
|
||||
let id = this._weatherInfo.connect('updated', () => {
|
||||
this._weatherInfo.disconnect(id);
|
||||
@ -165,10 +169,10 @@ const WeatherClient = new Lang.Class({
|
||||
|
||||
_onAutomaticLocationChanged: function(settings, key) {
|
||||
let useAutoLocation = settings.get_boolean(key);
|
||||
if (this._useAutoLocation == useAutoLocation)
|
||||
if (this._autoLocationRequested == useAutoLocation)
|
||||
return;
|
||||
|
||||
this._useAutoLocation = useAutoLocation;
|
||||
this._autoLocationRequested = useAutoLocation;
|
||||
|
||||
this._updateLocationMonitoring();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user