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._locationValid = false;
|
||||||
this._lastUpdate = GLib.DateTime.new_from_unix_local(0);
|
this._lastUpdate = GLib.DateTime.new_from_unix_local(0);
|
||||||
|
|
||||||
this._useAutoLocation = false;
|
this._autoLocationRequested = false;
|
||||||
this._mostRecentLocation = null;
|
this._mostRecentLocation = null;
|
||||||
|
|
||||||
this._gclueService = null;
|
this._gclueService = null;
|
||||||
@ -81,6 +81,10 @@ const WeatherClient = new Lang.Class({
|
|||||||
this._loadInfo();
|
this._loadInfo();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
get _useAutoLocation() {
|
||||||
|
return this._autoLocationRequested;
|
||||||
|
},
|
||||||
|
|
||||||
_loadInfo: function() {
|
_loadInfo: function() {
|
||||||
let id = this._weatherInfo.connect('updated', () => {
|
let id = this._weatherInfo.connect('updated', () => {
|
||||||
this._weatherInfo.disconnect(id);
|
this._weatherInfo.disconnect(id);
|
||||||
@ -165,10 +169,10 @@ const WeatherClient = new Lang.Class({
|
|||||||
|
|
||||||
_onAutomaticLocationChanged: function(settings, key) {
|
_onAutomaticLocationChanged: function(settings, key) {
|
||||||
let useAutoLocation = settings.get_boolean(key);
|
let useAutoLocation = settings.get_boolean(key);
|
||||||
if (this._useAutoLocation == useAutoLocation)
|
if (this._autoLocationRequested == useAutoLocation)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
this._useAutoLocation = useAutoLocation;
|
this._autoLocationRequested = useAutoLocation;
|
||||||
|
|
||||||
this._updateLocationMonitoring();
|
this._updateLocationMonitoring();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user