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/

Reply via email to