make directions button work
authorThomas Thurman <tthurman@gnome.org>
Mon, 31 Aug 2009 22:14:17 +0000 (18:14 -0400)
committerThomas Thurman <tthurman@gnome.org>
Mon, 31 Aug 2009 22:14:17 +0000 (18:14 -0400)
belltower.c

index f995a6c..802d5d3 100644 (file)
@@ -361,6 +361,19 @@ show_tower_map (void)
 }
 
 static void
+show_tower_directions (void)
+{
+  if (tower_directions)
+    {
+      show_browser (tower_directions);
+    }
+  else
+    {
+      show_message ("I don't know where you are!");
+    }
+}
+
+static void
 show_peals_list (void)
 {
   show_browser (peals_list);
@@ -627,7 +640,7 @@ single_tower_cb (tower *details,
     }
   add_button ("Peals", show_peals_list);
   add_button ("Map", show_tower_map);
-  add_button ("Directions", NULL);
+  add_button ("Directions", show_tower_directions);
 
   /* don't use a toggle button: it looks stupid */
   button = hildon_button_new_with_text (HILDON_SIZE_AUTO_WIDTH | HILDON_SIZE_FINGER_HEIGHT,
@@ -658,6 +671,15 @@ single_tower_cb (tower *details,
   tower_map = g_strdup_printf ("http://maps.google.com/maps?q=%s,%s",
         details->fields[FieldLat],
         details->fields[FieldLong]);
+  g_free (tower_directions);
+  if (device->fix->fields & LOCATION_GPS_DEVICE_LATLONG_SET)
+    {
+      tower_directions = g_strdup_printf ("http://maps.google.com/maps?q=%f,%f+to+%s,%s",
+                                         device->fix->latitude,
+                                         device->fix->longitude,
+                                         details->fields[FieldLat],
+                                         details->fields[FieldLong]);
+    }
   g_free (tower_displayed);
   tower_displayed = g_strdup (details->fields[FieldPrimaryKey]);