[gnome-maps/wip/routing2: 9/9] More sidebar work
- From: Mattias Bengtsson <mattiasb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-maps/wip/routing2: 9/9] More sidebar work
- Date: Sun, 8 Jun 2014 22:52:27 +0000 (UTC)
commit 82b696a4d7f85a9b81b67901148c913e2ff7f2ea
Author: Mattias Bengtsson <mattias jc bengtsson gmail com>
Date: Sun Jun 8 23:10:43 2014 +0200
More sidebar work
src/gnome-maps.data.gresource.xml | 7 +++++++
src/mainWindow.js | 34 +++++++++++++++++++++++++++-------
src/routeQuery.js | 2 +-
src/sidebar.js | 4 +++-
4 files changed, 38 insertions(+), 9 deletions(-)
---
diff --git a/src/gnome-maps.data.gresource.xml b/src/gnome-maps.data.gresource.xml
index 3fb107c..b91a5d2 100644
--- a/src/gnome-maps.data.gresource.xml
+++ b/src/gnome-maps.data.gresource.xml
@@ -22,5 +22,12 @@
<file alias="route-transit-symbolic">../data/icons/route-transit-symbolic.svg</file>
<file alias="route-bike-symbolic">../data/icons/route-bike-symbolic.svg</file>
<file alias="layers-button.svg">../data/icons/layers-button.svg</file>
+ <file alias="direction-sharpleft">../data/media/direction-sharpleft.png</file>
+ <file alias="direction-left">../data/media/direction-left.png</file>
+ <file alias="direction-slightleft">../data/media/direction-slightleft.png</file>
+ <file alias="direction-continue">../data/media/direction-continue.png</file>
+ <file alias="direction-sharpright">../data/media/direction-sharpright.png</file>
+ <file alias="direction-right">../data/media/direction-right.png</file>
+ <file alias="direction-slightright">../data/media/direction-slightright.png</file>
</gresource>
</gresources>
diff --git a/src/mainWindow.js b/src/mainWindow.js
index ad8f92d..0ba6ea8 100644
--- a/src/mainWindow.js
+++ b/src/mainWindow.js
@@ -19,6 +19,7 @@
*
* Author: Cosimo Cecchi <cosimoc redhat com>
* Zeeshan Ali (Khattak) <zeeshanak gnome org>
+ * Mattias Bengtsson <mattias jc bengtsson gmail com>
*/
const Gdk = imports.gi.Gdk;
@@ -68,7 +69,9 @@ const MainWindow = new Lang.Class({
this._sidebar = new Sidebar.Sidebar();
overlay.add_overlay(this._sidebar);
-
+ Application.routeService.route.connect('update',
+ this._showSidebar.bind(this));
+
this.mapView = new MapView.MapView();
overlay.add(this.mapView);
@@ -138,9 +141,11 @@ const MainWindow = new Lang.Class({
}, {
properties: {
name: 'toggle-sidebar',
- state: GLib.Variant.new('b', false)
+ state: GLib.Variant.new_boolean(false)
},
- signalHandlers: { activate: this._onToggleSidebarActivate }
+ signalHandlers: {
+ 'change-state': this._onToggleSidebarChangeState
+ }
}
], this);
@@ -301,10 +306,25 @@ const MainWindow = new Lang.Class({
this.mapView.setMapType(MapView.MapType[mapType]);
},
- _onToggleSidebarActivate: function(action) {
- let newState = !action.get_state().get_boolean();
- action.set_state(GLib.Variant.new('b', newState));
- this._sidebar.set_reveal_child(newState);
+ _onToggleSidebarChangeState: function(action, variant) {
+ action.set_state(variant);
+
+ let reveal = variant.get_boolean();
+ if(!reveal) {
+ Application.routeService.route.reset();
+ // Application.routeService.query.reset();
+ }
+ this._sidebar.set_reveal_child(reveal);
+ },
+
+ _hideSidebar: function() {
+ let action = this.window.lookup_action('toggle-sidebar');
+ action.change_state(GLib.Variant.new_boolean(false));
+ },
+
+ _showSidebar: function() {
+ let action = this.window.lookup_action('toggle-sidebar');
+ action.change_state(GLib.Variant.new_boolean(true));
},
_onAboutActivate: function() {
diff --git a/src/routeQuery.js b/src/routeQuery.js
index df2912f..2c6f28d 100644
--- a/src/routeQuery.js
+++ b/src/routeQuery.js
@@ -110,7 +110,7 @@ const RouteQuery = new Lang.Class({
_disconnectSignals: function() {
this.disconnect(this._updatedId);
},
-
+
reset: function() {
this.setMany({ from: null,
to: null,
diff --git a/src/sidebar.js b/src/sidebar.js
index a9887c7..b0cfb90 100644
--- a/src/sidebar.js
+++ b/src/sidebar.js
@@ -102,7 +102,9 @@ const Sidebar = new Lang.Class({
this._clearInstructions();
route.turnPoints.forEach((function(turnPoint) {
- this._instructionList.add(new InstructionRow(turnPoint));
+ let row = new InstructionRow({ visible:true,
+ turnPoint: turnPoint });
+ this._instructionList.add(row);
}).bind(this));
}).bind(this));
},
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]