udataU.trk = trk;
udataU.uuid = NULL;
- gpointer *trkf;
+ gpointer trkf;
if ( trk->is_route )
trkf = g_hash_table_find ( vik_trw_layer_get_routes(vtl), (GHRFunc) trw_layer_track_find_uuid, &udataU );
else
GtkTreeStore *store,
vik_units_distance_t dist_units,
vik_units_speed_t speed_units,
- vik_units_height_t height_units )
+ vik_units_height_t height_units,
+ const gchar* date_format )
{
GtkTreeIter t_iter;
VikTrack *trk = vtdl->trk;
case VIK_UNITS_DISTANCE_MILES:
trk_dist = VIK_METERS_TO_MILES(trk_dist);
break;
+ case VIK_UNITS_DISTANCE_NAUTICAL_MILES:
+ trk_dist = VIK_METERS_TO_NAUTICAL_MILES(trk_dist);
+ break;
default:
trk_dist = trk_dist/1000.0;
break;
#if GLIB_CHECK_VERSION(2,26,0)
GDateTime* gdt = g_date_time_new_from_unix_utc ( VIK_TRACKPOINT(trk->trackpoints->data)->timestamp );
- gchar *time = g_date_time_format ( gdt, TRACK_LIST_DATE_FORMAT );
- strncpy ( time_buf, time, sizeof(time_buf) );
+ gchar *time = g_date_time_format ( gdt, date_format );
+ g_strlcpy ( time_buf, time, sizeof(time_buf) );
g_free ( time );
g_date_time_unref ( gdt);
#else
GDate* gdate_start = g_date_new ();
g_date_set_time_t ( gdate_start, VIK_TRACKPOINT(trk->trackpoints->data)->timestamp );
- g_date_strftime ( time_buf, sizeof(time_buf), TRACK_LIST_DATE_FORMAT, gdate_start );
+ g_date_strftime ( time_buf, sizeof(time_buf), date_format, gdate_start );
g_date_free ( gdate_start );
#endif
}
gboolean visible = VIK_LAYER(vtl)->visible && trk->visible;
visible = visible && (trk->is_route ? vik_trw_layer_get_routes_visibility(vtl) : vik_trw_layer_get_tracks_visibility(vtl));
- guint trk_len_time = 0;
+ guint trk_len_time = 0; // In minutes
if ( trk->trackpoints ) {
time_t t1, t2;
t1 = VIK_TRACKPOINT(g_list_first(trk->trackpoints)->data)->timestamp;
t2 = VIK_TRACKPOINT(g_list_last(trk->trackpoints)->data)->timestamp;
- trk_len_time = (int)round (labs(t2-t1)/60);
+ trk_len_time = (int)round(labs(t2-t1)/60.0);
}
gdouble av_speed = 0.0;
//GList *gl = get_tracks_and_layers_cb ( vl, user_data );
//g_list_foreach ( tracks_and_layers, (GFunc) trw_layer_track_list_add, store );
+ gchar *date_format = NULL;
+ if ( !a_settings_get_string ( VIK_SETTINGS_LIST_DATE_FORMAT, &date_format ) )
+ date_format = g_strdup ( TRACK_LIST_DATE_FORMAT );
+
GList *gl = tracks_and_layers;
while ( gl ) {
- trw_layer_track_list_add ( (vik_trw_track_list_t*)gl->data, store, dist_units, speed_units, height_units );
+ trw_layer_track_list_add ( (vik_trw_track_list_t*)gl->data, store, dist_units, speed_units, height_units, date_format );
gl = g_list_next ( gl );
}
+ g_free ( date_format );
GtkWidget *view = gtk_tree_view_new();
GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
case VIK_UNITS_DISTANCE_MILES:
column = my_new_column_text ( _("Distance\n(miles)"), renderer, view, column_runner++ );
break;
+ case VIK_UNITS_DISTANCE_NAUTICAL_MILES:
+ column = my_new_column_text ( _("Distance\n(NM)"), renderer, view, column_runner++ );
+ break;
default:
column = my_new_column_text ( _("Distance\n(km)"), renderer, view, column_runner++ );
break;
// Apply own formatting of the data
gtk_tree_view_column_set_cell_data_func ( column, renderer, format_1f_cell_data_func, GINT_TO_POINTER(column_runner-1), NULL);
- column = my_new_column_text ( _("Length\n(minutes)"), renderer, view, column_runner++ );
+ (void)my_new_column_text ( _("Length\n(minutes)"), renderer, view, column_runner++ );
gchar *spd_units = NULL;
switch (speed_units) {
g_free ( spd_units );
if ( height_units == VIK_UNITS_HEIGHT_FEET )
- column = my_new_column_text ( _("Max Height\n(Feet)"), renderer, view, column_runner++ );
+ (void)my_new_column_text ( _("Max Height\n(Feet)"), renderer, view, column_runner++ );
else
- column = my_new_column_text ( _("Max Height\n(Metres)"), renderer, view, column_runner++ );
+ (void)my_new_column_text ( _("Max Height\n(Metres)"), renderer, view, column_runner++ );
gtk_tree_view_set_model ( GTK_TREE_VIEW(view), GTK_TREE_MODEL(store) );
gtk_tree_selection_set_mode ( gtk_tree_view_get_selection(GTK_TREE_VIEW(view)), GTK_SELECTION_MULTIPLE );