gtk_dialog_add_buttons ( GTK_DIALOG(tpwin),
GTK_STOCK_CLOSE, VIK_TRW_LAYER_TPWIN_CLOSE,
gtk_dialog_add_buttons ( GTK_DIALOG(tpwin),
GTK_STOCK_CLOSE, VIK_TRW_LAYER_TPWIN_CLOSE,
GTK_STOCK_DELETE, VIK_TRW_LAYER_TPWIN_DELETE,
_("Split Here"), VIK_TRW_LAYER_TPWIN_SPLIT,
_("Join With Last"), VIK_TRW_LAYER_TPWIN_JOIN,
GTK_STOCK_DELETE, VIK_TRW_LAYER_TPWIN_DELETE,
_("Split Here"), VIK_TRW_LAYER_TPWIN_SPLIT,
_("Join With Last"), VIK_TRW_LAYER_TPWIN_JOIN,
gtk_widget_set_sensitive ( GTK_WIDGET(tpwin->lon), FALSE );
gtk_widget_set_sensitive ( GTK_WIDGET(tpwin->alt), FALSE );
gtk_widget_set_sensitive ( GTK_WIDGET(tpwin->lon), FALSE );
gtk_widget_set_sensitive ( GTK_WIDGET(tpwin->alt), FALSE );
SET_BUTTON_SENSITIVE ( tpwin, VIK_TRW_LAYER_TPWIN_SPLIT, FALSE );
SET_BUTTON_SENSITIVE ( tpwin, VIK_TRW_LAYER_TPWIN_DELETE, FALSE );
SET_BUTTON_SENSITIVE ( tpwin, VIK_TRW_LAYER_TPWIN_FORWARD, FALSE );
SET_BUTTON_SENSITIVE ( tpwin, VIK_TRW_LAYER_TPWIN_SPLIT, FALSE );
SET_BUTTON_SENSITIVE ( tpwin, VIK_TRW_LAYER_TPWIN_DELETE, FALSE );
SET_BUTTON_SENSITIVE ( tpwin, VIK_TRW_LAYER_TPWIN_FORWARD, FALSE );
SET_BUTTON_SENSITIVE ( tpwin, VIK_TRW_LAYER_TPWIN_DELETE, TRUE );
/* We can only split up a track if it's not an endpoint. Makes sense to me. */
SET_BUTTON_SENSITIVE ( tpwin, VIK_TRW_LAYER_TPWIN_DELETE, TRUE );
/* We can only split up a track if it's not an endpoint. Makes sense to me. */
gtk_widget_set_sensitive ( GTK_WIDGET(tpwin->lat), TRUE );
gtk_widget_set_sensitive ( GTK_WIDGET(tpwin->lon), TRUE );
gtk_widget_set_sensitive ( GTK_WIDGET(tpwin->lat), TRUE );
gtk_widget_set_sensitive ( GTK_WIDGET(tpwin->lon), TRUE );
gtk_spin_button_set_value ( tpwin->alt, tp->altitude );
break;
case VIK_UNITS_HEIGHT_FEET:
gtk_spin_button_set_value ( tpwin->alt, tp->altitude );
break;
case VIK_UNITS_HEIGHT_FEET:
- g_snprintf ( tmp_str, sizeof(tmp_str), "%.2f km/h", vik_coord_diff(&(tp->coord), &(tpwin->cur_tp->coord)) / (ABS(tp->timestamp - tpwin->cur_tp->timestamp)) * 3.6 );
+ g_snprintf ( tmp_str, sizeof(tmp_str), "%.2f km/h", VIK_MPS_TO_KPH(vik_coord_diff(&(tp->coord), &(tpwin->cur_tp->coord)) / (ABS(tp->timestamp - tpwin->cur_tp->timestamp))) );
- g_snprintf ( tmp_str, sizeof(tmp_str), "%.2f mph", vik_coord_diff(&(tp->coord), &(tpwin->cur_tp->coord)) / (ABS(tp->timestamp - tpwin->cur_tp->timestamp)) * 2.23693629 );
+ g_snprintf ( tmp_str, sizeof(tmp_str), "%.2f mph", VIK_MPS_TO_MPH(vik_coord_diff(&(tp->coord), &(tpwin->cur_tp->coord)) / (ABS(tp->timestamp - tpwin->cur_tp->timestamp))) );
break;
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;
break;
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_MPS_TO_KNOTS(vik_coord_diff(&(tp->coord), &(tpwin->cur_tp->coord)) / (ABS(tp->timestamp - tpwin->cur_tp->timestamp))) );
+ break;
default:
g_snprintf ( tmp_str, sizeof(tmp_str), "--" );
g_critical("Houston, we've had a problem. speed=%d", speed_units);
default:
g_snprintf ( tmp_str, sizeof(tmp_str), "--" );
g_critical("Houston, we've had a problem. speed=%d", speed_units);
g_snprintf ( tmp_str, sizeof(tmp_str), "%.5f m", tp->vdop );
break;
case VIK_UNITS_HEIGHT_FEET:
g_snprintf ( tmp_str, sizeof(tmp_str), "%.5f m", tp->vdop );
break;
case VIK_UNITS_HEIGHT_FEET:
- g_snprintf ( tmp_str, sizeof(tmp_str), "%.5f feet", tp->vdop*3.2808399 );
+ g_snprintf ( tmp_str, sizeof(tmp_str), "%.5f feet", VIK_METERS_TO_FEET(tp->vdop) );