For all those sailors out there! --- src/globals.c | 2 +- src/globals.h | 1 + src/viktrwlayer_propwin.c | 9 +++++++++ src/viktrwlayer_tpwin.c | 3 +++ 4 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/src/globals.c b/src/globals.c index 2ff38e3..c3585b7 100644 --- a/src/globals.c +++ b/src/globals.c @@ -33,7 +33,7 @@ gboolean vik_version = FALSE; static gchar * params_degree_formats[] = {"DDD", "DMM", "DMS", NULL}; static gchar * params_units_distance[] = {"Kilometres", "Miles", NULL}; -static gchar * params_units_speed[] = {"km/h", "mph", "m/s", NULL}; +static gchar * params_units_speed[] = {"km/h", "mph", "m/s", "knots", NULL}; static gchar * params_units_height[] = {"Metres", "Feet", NULL}; static VikLayerParamScale params_scales_lat[] = { {-90.0, 90.0, 0.05, 2} }; static VikLayerParamScale params_scales_long[] = { {-180.0, 180.0, 0.05, 2} }; diff --git a/src/globals.h b/src/globals.h index 89f8d38..c919c18 100644 --- a/src/globals.h +++ b/src/globals.h @@ -75,6 +75,7 @@ typedef enum { VIK_UNITS_SPEED_KILOMETRES_PER_HOUR, VIK_UNITS_SPEED_MILES_PER_HOUR, VIK_UNITS_SPEED_METRES_PER_SECOND, + VIK_UNITS_SPEED_KNOTS, } vik_units_speed_t; vik_units_speed_t a_vik_get_units_speed ( ); diff --git a/src/viktrwlayer_propwin.c b/src/viktrwlayer_propwin.c index 6f4e344..1ca135e 100644 --- a/src/viktrwlayer_propwin.c +++ b/src/viktrwlayer_propwin.c @@ -544,6 +544,9 @@ GtkWidget *vik_trw_layer_create_vtdiag ( GtkWidget *window, VikTrack *tr, gpoint case VIK_UNITS_SPEED_METRES_PER_SECOND: sprintf(s, "%8dm/s", (int)(mins + (LINES-i)*(maxs-mins)/LINES)); break; + case VIK_UNITS_SPEED_KNOTS: + sprintf(s, "%8dknots", (int)((mins + (LINES-i)*(maxs-mins)/LINES)*1.94384449)); + break; default: sprintf(s, "--"); g_critical("Houston, we've had a problem. speed=%d", speed_units); @@ -834,6 +837,9 @@ void vik_trw_layer_propwin_run ( GtkWindow *parent, VikTrwLayer *vtl, VikTrack * case VIK_UNITS_SPEED_METRES_PER_SECOND: g_snprintf(tmp_buf, sizeof(tmp_buf), "%.2f m/s", tmp_speed ); break; + case VIK_UNITS_SPEED_KNOTS: + g_snprintf(tmp_buf, sizeof(tmp_buf), "%.2f knots", tmp_speed*1.94384449 ); + break; default: g_snprintf (tmp_buf, sizeof(tmp_buf), "--" ); g_critical("Houston, we've had a problem. speed=%d", speed_units); @@ -855,6 +861,9 @@ void vik_trw_layer_propwin_run ( GtkWindow *parent, VikTrwLayer *vtl, VikTrack * case VIK_UNITS_SPEED_METRES_PER_SECOND: g_snprintf(tmp_buf, sizeof(tmp_buf), "%.2f m/s", tmp_speed ); break; + case VIK_UNITS_SPEED_KNOTS: + g_snprintf(tmp_buf, sizeof(tmp_buf), "%.2f knots", tmp_speed*1.94384449 ); + break; default: g_snprintf (tmp_buf, sizeof(tmp_buf), "--" ); g_critical("Houston, we've had a problem. speed=%d", speed_units); diff --git a/src/viktrwlayer_tpwin.c b/src/viktrwlayer_tpwin.c index 2388efa..f9d8202 100644 --- a/src/viktrwlayer_tpwin.c +++ b/src/viktrwlayer_tpwin.c @@ -330,6 +330,9 @@ void vik_trw_layer_tpwin_set_tp ( VikTrwLayerTpwin *tpwin, GList *tpl, gchar *tr case VIK_UNITS_SPEED_METRES_PER_SECOND: g_snprintf ( tmp_str, sizeof(tmp_str), "%.2f m/s", vik_coord_diff(&(tp->coord), &(tpwin->cur_tp->coord)) / ABS(tp->timestamp - tpwin->cur_tp->timestamp) ); break; + case VIK_UNITS_SPEED_KNOTS: + g_snprintf ( tmp_str, sizeof(tmp_str), "%.2f knots", vik_coord_diff(&(tp->coord), &(tpwin->cur_tp->coord)) / (ABS(tp->timestamp - tpwin->cur_tp->timestamp)) * 1.94384449 ); + break; default: g_snprintf ( tmp_str, sizeof(tmp_str), "--" ); g_critical("Houston, we've had a problem. speed=%d", speed_units); -- 1.7.1 ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ Viking-devel mailing list Viking-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/viking-devel Viking home page: http://viking.sf.net/