From 70082c43a34d5d2e85707abb73822cbb6c3ae105 Mon Sep 17 00:00:00 2001 From: gnuite Date: Mon, 17 Mar 2008 06:08:16 +0000 Subject: [PATCH] Added ability to set "Toggle Tracking" as a hardware key. git-svn-id: svn+ssh://garage/var/lib/gforge/svnroot/maemo-mapper/trunk@181 6c538b50-5814-0410-93ad-8bdf4c0149d1 --- data/help/en_US/maemomapper.xml | 8 ++++++++ data/help/en_US/maemomapper.xml.in | 8 ++++++++ src/data.c | 4 ++-- src/data.h | 4 ++-- src/input.c | 6 ++++++ src/main.c | 5 ++++- src/menu.c | 22 ++++++++++++++-------- src/path.c | 7 ++----- src/settings.c | 14 +++++++------- src/types.h | 1 + 10 files changed, 54 insertions(+), 25 deletions(-) diff --git a/data/help/en_US/maemomapper.xml b/data/help/en_US/maemomapper.xml index 12dce8f..ab6d00f 100644 --- a/data/help/en_US/maemomapper.xml +++ b/data/help/en_US/maemomapper.xml @@ -327,6 +327,14 @@ Clear - Clear the current track, effectively replacing it with an empty track. + + Enable Tracking - This checkbox + controls whether or not Maemo Mapper keeps track of your location + as you move. If enabled, your track will be recorded to file, + which can be exported to GPX via the "Save..." menu item. Maemo + Mapper cannot draw your track on-screen if this checkbox is + disabled. + Maps diff --git a/data/help/en_US/maemomapper.xml.in b/data/help/en_US/maemomapper.xml.in index 70b2d61..4948754 100644 --- a/data/help/en_US/maemomapper.xml.in +++ b/data/help/en_US/maemomapper.xml.in @@ -327,6 +327,14 @@ Clear - Clear the current track, effectively replacing it with an empty track. + + Enable Tracking - This checkbox + controls whether or not Maemo Mapper keeps track of your location + as you move. If enabled, your track will be recorded to file, + which can be exported to GPX via the "Save..." menu item. Maemo + Mapper cannot draw your track on-screen if this checkbox is + disabled. + Maps diff --git a/src/data.c b/src/data.c index 79e96cd..8b2eb27 100644 --- a/src/data.c +++ b/src/data.c @@ -165,7 +165,7 @@ CenterMode _center_mode = CENTER_LEAD; gboolean _center_rotate = TRUE; gboolean _fullscreen = FALSE; gboolean _enable_gps = TRUE; -gboolean _enable_track = TRUE; +gboolean _enable_tracking = TRUE; gboolean _gps_info = FALSE; gchar *_route_dl_url = NULL; gint _route_dl_radius = 4; @@ -234,7 +234,7 @@ GtkWidget *_menu_track_insert_mark_item = NULL; GtkWidget *_menu_track_distlast_item = NULL; GtkWidget *_menu_track_distfirst_item = NULL; GtkWidget *_menu_track_clear_item = NULL; -GtkWidget *_menu_track_enable_item = NULL; +GtkWidget *_menu_track_enable_tracking_item = NULL; /* Menu items for the "POI" submenu. */ GtkWidget *_menu_poi_item = NULL; diff --git a/src/data.h b/src/data.h index 981ef00..a0625a4 100644 --- a/src/data.h +++ b/src/data.h @@ -144,7 +144,7 @@ extern CenterMode _center_mode; extern gboolean _center_rotate; extern gboolean _fullscreen; extern gboolean _enable_gps; -extern gboolean _enable_track; +extern gboolean _enable_tracking; extern gboolean _gps_info; extern gchar *_route_dl_url; extern gint _route_dl_radius; @@ -213,7 +213,7 @@ extern GtkWidget *_menu_track_insert_mark_item; extern GtkWidget *_menu_track_distlast_item; extern GtkWidget *_menu_track_distfirst_item; extern GtkWidget *_menu_track_clear_item; -extern GtkWidget *_menu_track_enable_item; +extern GtkWidget *_menu_track_enable_tracking_item; /* Menu items for the "POI" submenu. */ extern GtkWidget *_menu_poi_item; diff --git a/src/input.c b/src/input.c index 5d9936c..26368f1 100644 --- a/src/input.c +++ b/src/input.c @@ -321,6 +321,12 @@ window_cb_key_press(GtkWidget* widget, GdkEventKey *event) _menu_view_fullscreen_item), !_fullscreen); break; + case CUSTOM_ACTION_TOGGLE_TRACKING: + gtk_check_menu_item_set_active( + GTK_CHECK_MENU_ITEM(_menu_track_enable_tracking_item), + !_enable_tracking); + break; + case CUSTOM_ACTION_TOGGLE_TRACKS: switch(_show_paths) { diff --git a/src/main.c b/src/main.c index 0ce0c1e..978736b 100644 --- a/src/main.c +++ b/src/main.c @@ -285,7 +285,10 @@ maemo_mapper_init(gint argc, gchar **argv) = _("Toggle Fullscreen"); CUSTOM_ACTION_ENUM_TEXT[CUSTOM_ACTION_ZOOM_IN] = _("Zoom In"); CUSTOM_ACTION_ENUM_TEXT[CUSTOM_ACTION_ZOOM_OUT] = _("Zoom Out"); - CUSTOM_ACTION_ENUM_TEXT[CUSTOM_ACTION_TOGGLE_TRACKS] = _("Toggle Tracks"); + CUSTOM_ACTION_ENUM_TEXT[CUSTOM_ACTION_TOGGLE_TRACKING] + = _("Toggle Tracking"); + CUSTOM_ACTION_ENUM_TEXT[CUSTOM_ACTION_TOGGLE_TRACKS] + = _("Toggle Tracks/Routes"); CUSTOM_ACTION_ENUM_TEXT[CUSTOM_ACTION_TOGGLE_SCALE] = _("Toggle Scale"); CUSTOM_ACTION_ENUM_TEXT[CUSTOM_ACTION_TOGGLE_POI] = _("Toggle POIs"); CUSTOM_ACTION_ENUM_TEXT[CUSTOM_ACTION_CHANGE_REPO] diff --git a/src/menu.c b/src/menu.c index 0efe37d..9db80a6 100644 --- a/src/menu.c +++ b/src/menu.c @@ -422,15 +422,21 @@ menu_cb_track_clear(GtkMenuItem *item) } static gboolean -menu_cb_track_enable(GtkMenuItem *item) +menu_cb_track_enable_tracking(GtkMenuItem *item) { printf("%s()\n", __PRETTY_FUNCTION__); - if(!(_enable_track = gtk_check_menu_item_get_active( - GTK_CHECK_MENU_ITEM(_menu_track_enable_item)))) + if(!(_enable_tracking = gtk_check_menu_item_get_active( + GTK_CHECK_MENU_ITEM(_menu_track_enable_tracking_item)))) { track_insert_break(FALSE); /* FALSE = not temporary */ + MACRO_BANNER_SHOW_INFO(_window, _("Tracking Disabled")); } + else + { + MACRO_BANNER_SHOW_INFO(_window, _("Tracking Enabled")); + } + vprintf("%s(): return TRUE\n", __PRETTY_FUNCTION__); return TRUE; @@ -1468,10 +1474,10 @@ menu_init() = gtk_menu_item_new_with_label(_("Show Distance from Beginning"))); gtk_menu_append(submenu, _menu_track_clear_item = gtk_menu_item_new_with_label(_("Clear"))); - gtk_menu_append(submenu, _menu_track_enable_item - = gtk_check_menu_item_new_with_label(_("Enable Track"))); + gtk_menu_append(submenu, _menu_track_enable_tracking_item + = gtk_check_menu_item_new_with_label(_("Enable Tracking"))); gtk_check_menu_item_set_active( - GTK_CHECK_MENU_ITEM(_menu_track_enable_item), _enable_track); + GTK_CHECK_MENU_ITEM(_menu_track_enable_tracking_item), _enable_tracking); /* The "POI" submenu. */ gtk_menu_append(menu, menu_item = _menu_poi_item @@ -1717,8 +1723,8 @@ menu_init() G_CALLBACK(menu_cb_track_distfirst), NULL); g_signal_connect(G_OBJECT(_menu_track_clear_item), "activate", G_CALLBACK(menu_cb_track_clear), NULL); - g_signal_connect(G_OBJECT(_menu_track_enable_item), "toggled", - G_CALLBACK(menu_cb_track_enable), NULL); + g_signal_connect(G_OBJECT(_menu_track_enable_tracking_item), "toggled", + G_CALLBACK(menu_cb_track_enable_tracking), NULL); /* Connect the "POI" signals. */ g_signal_connect(G_OBJECT(_menu_poi_import_item), "activate", diff --git a/src/path.c b/src/path.c index 3a0ac5b..445292b 100644 --- a/src/path.c +++ b/src/path.c @@ -788,7 +788,8 @@ track_add(time_t time, gboolean newly_fixed) map_render_paths(); MACRO_QUEUE_DRAW_AREA(); } - if(_enable_track) + + if(_enable_tracking) { if(_show_paths & TRACKS_MASK) { @@ -1049,10 +1050,6 @@ track_insert_break(gboolean temporary) 0, /* start at 0 degrees. */ 360 * 64); } - else if(!temporary) - { - MACRO_BANNER_SHOW_INFO(_window, _("Break already inserted.")); - } /* Update the track database. */ path_update_track_in_db(); diff --git a/src/settings.c b/src/settings.c index 2e00c94..62f8a15 100644 --- a/src/settings.c +++ b/src/settings.c @@ -120,7 +120,7 @@ #define GCONF_KEY_SHOWVELVEC GCONF_KEY_PREFIX"/show_velocity_vector" #define GCONF_KEY_SHOWPOIS GCONF_KEY_PREFIX"/show_poi" #define GCONF_KEY_ENABLE_GPS GCONF_KEY_PREFIX"/enable_gps" -#define GCONF_KEY_ENABLE_TRACK GCONF_KEY_PREFIX"/enable_track" +#define GCONF_KEY_ENABLE_TRACKING GCONF_KEY_PREFIX"/enable_tracking" #define GCONF_KEY_ROUTE_LOCATIONS GCONF_KEY_PREFIX"/route_locations" #define GCONF_KEY_REPOSITORIES GCONF_KEY_PREFIX"/repositories" #define GCONF_KEY_CURRREPO GCONF_KEY_PREFIX"/curr_repo" @@ -444,9 +444,9 @@ settings_save() gconf_client_set_bool(gconf_client, GCONF_KEY_ENABLE_GPS, _enable_gps, NULL); - /* Save Enable Track flag. */ + /* Save Enable Tracking flag. */ gconf_client_set_bool(gconf_client, - GCONF_KEY_ENABLE_TRACK, _enable_track, NULL); + GCONF_KEY_ENABLE_TRACKING, _enable_tracking, NULL); /* Save Route Locations. */ gconf_client_set_list(gconf_client, @@ -2355,15 +2355,15 @@ settings_init() else _enable_gps = TRUE; - /* Get Enable Track flag. Default is TRUE. */ - value = gconf_client_get(gconf_client, GCONF_KEY_ENABLE_TRACK, NULL); + /* Get Enable Tracking flag. Default is TRUE. */ + value = gconf_client_get(gconf_client, GCONF_KEY_ENABLE_TRACKING, NULL); if(value) { - _enable_track = gconf_value_get_bool(value); + _enable_tracking = gconf_value_get_bool(value); gconf_value_free(value); } else - _enable_track = TRUE; + _enable_tracking = TRUE; /* Initialize _gps_state based on _enable_gps. */ _gps_state = RCVR_OFF; diff --git a/src/types.h b/src/types.h index 23cd27e..36a4753 100644 --- a/src/types.h +++ b/src/types.h @@ -196,6 +196,7 @@ typedef enum CUSTOM_ACTION_ZOOM_IN, CUSTOM_ACTION_ZOOM_OUT, CUSTOM_ACTION_TOGGLE_FULLSCREEN, + CUSTOM_ACTION_TOGGLE_TRACKING, CUSTOM_ACTION_TOGGLE_TRACKS, CUSTOM_ACTION_TOGGLE_SCALE, CUSTOM_ACTION_TOGGLE_POI, -- 2.44.0