From 0d4c29d88dbf6947c9574bcc2e4cea6891bdb320 Mon Sep 17 00:00:00 2001 From: Thomas Thurman Date: Sun, 30 Aug 2009 08:00:22 -0400 Subject: [PATCH 1/1] fixed gps to read directly from the struct --- belltower.c | 31 ++++++++----------------------- 1 file changed, 8 insertions(+), 23 deletions(-) diff --git a/belltower.c b/belltower.c index bceef99..5e02e95 100644 --- a/belltower.c +++ b/belltower.c @@ -85,10 +85,6 @@ typedef struct { int n_fields; } tower; -gboolean gps_working = FALSE; -double current_lat = 40.2452778; -double current_long = -75.65;; - static void show_message (char *message) { @@ -114,8 +110,8 @@ distance_to_tower (tower *details) tower_long = strtod(details->fields[FieldLong], &endptr); if (*endptr) return -1; - km_distance = location_distance_between (current_lat, - current_long, + km_distance = location_distance_between (device->fix->latitude, + device->fix->longitude, tower_lat, tower_long); @@ -450,7 +446,10 @@ single_tower_cb (tower *details, add_table_field ("Tenor", str); g_free (str); - add_button ("Tower website", show_tower_website); + if (strcmp(details->fields[FieldWebPage], "")!=0) + { + add_button ("Tower website", show_tower_website); + } add_button ("Peals", show_peals_list); add_button ("Map", show_tower_map); add_button ("Directions", NULL); @@ -501,7 +500,7 @@ found_tower_new (tower *basis) result->sortkey = g_strdup (basis->fields[FieldPrimaryKey]); result->primarykey = g_strdup (basis->fields[FieldPrimaryKey]); - if (gps_working) + if (device->fix->fields & LOCATION_GPS_DEVICE_LATLONG_SET) { gchar *distance = distance_to_tower_str (basis); result->displayname = g_strdup_printf ("%s, %s (%s, %s) (%s)", @@ -701,7 +700,7 @@ nearby_towers (void) { GSList *matches = NULL; - if (!gps_working) + if (!(device->fix->fields & LOCATION_GPS_DEVICE_LATLONG_SET)) { show_message ("I don't know where you are!"); return; @@ -855,18 +854,6 @@ recent_towers (void) show_message ("This is not yet implemented."); } -static void -grab_gps (void) -{ - gps_working = (device->fix->fields & LOCATION_GPS_DEVICE_LATLONG_SET)!=0; - - if (gps_working) - { - current_lat = device->fix->latitude; - current_long = device->fix->longitude; - } -} - int main(int argc, char **argv) { @@ -877,8 +864,6 @@ main(int argc, char **argv) g_set_application_name ("Belltower"); device = g_object_new (LOCATION_TYPE_GPS_DEVICE, NULL); - grab_gps (); - /* FIXME and call that when the location changes, too */ window = hildon_stackable_window_new (); gtk_window_set_title (GTK_WINDOW (window), "Belltower"); -- 1.7.9.5