[gnome-weather] Fix problem where weather never used saved locations
- From: Christopher Davis <christopherdavis src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-weather] Fix problem where weather never used saved locations
- Date: Fri, 25 Jun 2021 23:56:49 +0000 (UTC)
commit b8d6fcd0c9566af9ce60d890670598bccc6d57c6
Author: Jessica Tallon <tsyesika tsyesika se>
Date: Sun Apr 11 11:14:37 2021 +0200
Fix problem where weather never used saved locations
Everytime you opened the weather application it would always show
the initial welcome/search screen even though it was loading the
previously saved locations. This changes that so they are now used.
src/app/main.js | 3 ++-
src/app/world.js | 13 +++++++------
src/shared/world.js | 1 +
3 files changed, 10 insertions(+), 7 deletions(-)
---
diff --git a/src/app/main.js b/src/app/main.js
index b413ca9..8292215 100644
--- a/src/app/main.js
+++ b/src/app/main.js
@@ -96,8 +96,9 @@ const Application = GObject.registerClass(
this.world = GWeather.Location.get_world();
this.model = new World.WorldModel(this.world, true);
- this.model.load();
this.currentLocationController = new CurrentLocationController.CurrentLocationController(this.model);
+ this.model.load();
+
this.model.connect('notify::loading', () => {
if (this.model.loading)
diff --git a/src/app/world.js b/src/app/world.js
index 8e1d5ce..1815629 100644
--- a/src/app/world.js
+++ b/src/app/world.js
@@ -67,18 +67,18 @@ var WorldContentView = GObject.registerClass(
let autoLocStack = builder.get_object('auto-location-stack');
let autoLocSwitch = builder.get_object('auto-location-switch');
- let currentLocationController = application.currentLocationController;
+ this._currentLocationController = application.currentLocationController;
- if(currentLocationController.autoLocation == CurrentLocationController.AutoLocation.ENABLED) {
+ if(this._currentLocationController.autoLocation == CurrentLocationController.AutoLocation.ENABLED) {
autoLocStack.visible_child_name = 'locating-label';
} else {
autoLocStack.visible_child_name = 'auto-location-switch-grid';
autoLocSwitch.active = false;
- autoLocSwitch.sensitive = (currentLocationController.autoLocation !=
CurrentLocationController.AutoLocation.NOT_AVAILABLE);
+ autoLocSwitch.sensitive = (this._currentLocationController.autoLocation !=
CurrentLocationController.AutoLocation.NOT_AVAILABLE);
}
let handlerId = autoLocSwitch.connect('notify::active', () => {
- currentLocationController.setAutoLocation(autoLocSwitch.active);
+ this._currentLocationController.setAutoLocation(autoLocSwitch.active);
if (autoLocSwitch.active && !this.model.addedCurrentLocation)
autoLocStack.visible_child_name = 'locating-label';
@@ -95,8 +95,8 @@ var WorldContentView = GObject.registerClass(
this.model.connect('current-location-changed', (model, info) => {
autoLocStack.visible_child_name = 'auto-location-switch-grid';
GObject.signal_handler_block(autoLocSwitch, handlerId);
- autoLocSwitch.active = (currentLocationController.autoLocation ==
CurrentLocationController.AutoLocation.ENABLED);
- autoLocSwitch.sensitive = (currentLocationController.autoLocation !=
CurrentLocationController.AutoLocation.NOT_AVAILABLE);
+ autoLocSwitch.active = (this._currentLocationController.autoLocation ==
CurrentLocationController.AutoLocation.ENABLED);
+ autoLocSwitch.sensitive = (this._currentLocationController.autoLocation !=
CurrentLocationController.AutoLocation.NOT_AVAILABLE);
GObject.signal_handler_unblock(autoLocSwitch, handlerId);
this._window.showInfo(info, true);
@@ -216,6 +216,7 @@ var WorldContentView = GObject.registerClass(
});
this._syncStackPopover();
+ this._currentLocationController.currentLocation = info
}
_onLocationRemoved(model, info) {
diff --git a/src/shared/world.js b/src/shared/world.js
index 6bc681d..081edf0 100644
--- a/src/shared/world.js
+++ b/src/shared/world.js
@@ -107,6 +107,7 @@ var WorldModel = GObject.registerClass({
info = this._addLocationInternal(location, false);
}
+ this._currentLocationInfo = info
}
_updateLoadingCount(delta) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]