const gchar *date_str;
const VikTrack *trk;
const VikWaypoint *wpt;
- gpointer *trk_id;
- gpointer *wpt_id;
+ gpointer trk_id;
+ gpointer wpt_id;
} date_finder_type;
static gboolean trw_layer_find_date_track ( const gpointer id, const VikTrack *trk, date_finder_type *df )
{
VikTrwLayer *vtl = VIK_TRW_LAYER(values[MA_VTL]);
gint subtype = GPOINTER_TO_INT (values[MA_SUBTYPE]);
- gpointer * sublayer = values[MA_SUBLAYER_ID];
+ gpointer sublayer = values[MA_SUBLAYER_ID];
guint8 *data = NULL;
guint len;
rv->metadata = vik_trw_metadata_new ();
rv->draw_sync_done = TRUE;
rv->draw_sync_do = TRUE;
+ rv->coord_mode = VIK_COORD_LATLON;
// Everything else is 0, FALSE or NULL
return rv;
// Still need to process points to ensure 'stops' are drawn if required
if ( drawstops && drawpoints && ! draw_track_outline && list->next &&
(VIK_TRACKPOINT(list->next->data)->timestamp - VIK_TRACKPOINT(list->data)->timestamp > dp->vtl->stop_length) )
- vik_viewport_draw_arc ( dp->vp, g_array_index(dp->vtl->track_gc, GdkGC *, 11), TRUE, x-(3*tp_size), y-(3*tp_size), 6*tp_size, 6*tp_size, 0, 360*64 );
+ vik_viewport_draw_arc ( dp->vp, g_array_index(dp->vtl->track_gc, GdkGC *, VIK_TRW_LAYER_TRACK_GC_STOP), TRUE, x-(3*tp_size), y-(3*tp_size), 6*tp_size, 6*tp_size, 0, 360*64 );
goto skip;
}
GHashTable *vik_trw_layer_get_waypoints_iters ( VikTrwLayer *vtl )
{
- return vtl->waypoints;
+ return vtl->waypoints_iters;
}
gboolean vik_trw_layer_is_empty ( VikTrwLayer *vtl )
GtkWidget *label, *entry;
label = gtk_label_new(_("Waypoint Name:"));
- entry = gtk_entry_new();
+ entry = ui_entry_new ( NULL, GTK_ENTRY_ICON_SECONDARY );
gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dia))), label, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dia))), entry, FALSE, FALSE, 0);
udata.uuid = NULL;
// Hmmm, want key of it
- gpointer *wpf = g_hash_table_find ( vtl->waypoints, (GHRFunc) trw_layer_waypoint_find_uuid, (gpointer) &udata );
+ gpointer wpf = g_hash_table_find ( vtl->waypoints, (GHRFunc) trw_layer_waypoint_find_uuid, (gpointer) &udata );
if ( wpf && udata.uuid ) {
GtkTreeIter *it = g_hash_table_lookup ( vtl->waypoints_iters, udata.uuid );
gtk_menu_shell_append (GTK_MENU_SHELL (export_submenu), item);
gtk_widget_show ( item );
- item = gtk_menu_item_new_with_mnemonic ( _("Export as _KML...") );
- g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_export_kml), pass_along );
- gtk_menu_shell_append (GTK_MENU_SHELL (export_submenu), item);
- gtk_widget_show ( item );
+ if ( a_babel_available () ) {
+ item = gtk_menu_item_new_with_mnemonic ( _("Export as _KML...") );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_export_kml), pass_along );
+ gtk_menu_shell_append (GTK_MENU_SHELL (export_submenu), item);
+ gtk_widget_show ( item );
+ }
if ( have_geojson_export ) {
item = gtk_menu_item_new_with_mnemonic ( _("Export as GEO_JSON...") );
gtk_widget_show ( item );
}
- item = gtk_menu_item_new_with_mnemonic ( _("Export via GPSbabel...") );
- g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_export_babel), pass_along );
- gtk_menu_shell_append (GTK_MENU_SHELL (export_submenu), item);
- gtk_widget_show ( item );
+ if ( a_babel_available () ) {
+ item = gtk_menu_item_new_with_mnemonic ( _("Export via GPSbabel...") );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_export_babel), pass_along );
+ gtk_menu_shell_append (GTK_MENU_SHELL (export_submenu), item);
+ gtk_widget_show ( item );
+ }
gchar* external1 = g_strdup_printf ( _("Open with External Program_1: %s"), a_vik_get_external_gpx_program_1() );
item = gtk_menu_item_new_with_mnemonic ( external1 );
gtk_widget_show ( item );
#endif
- item = gtk_menu_item_new_with_mnemonic ( _("From _File...") );
- g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_acquire_file_cb), pass_along );
- gtk_menu_shell_append (GTK_MENU_SHELL (acquire_submenu), item);
- gtk_widget_set_tooltip_text (item, _("Import File With GPS_Babel..."));
- gtk_widget_show ( item );
+ if ( a_babel_available () ) {
+ item = gtk_menu_item_new_with_mnemonic ( _("From _File...") );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_acquire_file_cb), pass_along );
+ gtk_menu_shell_append (GTK_MENU_SHELL (acquire_submenu), item);
+ gtk_widget_set_tooltip_text (item, _("Import File With GPS_Babel..."));
+ gtk_widget_show ( item );
+ }
vik_ext_tool_datasources_add_menu_items_to_menu ( VIK_WINDOW(VIK_GTK_WINDOW_FROM_LAYER(vtl)), GTK_MENU (acquire_submenu) );
udata.uuid = NULL;
// Hmmm, want key of it
- gpointer *trkf = g_hash_table_find ( vtl->tracks, (GHRFunc) trw_layer_track_find_uuid, &udata );
+ gpointer trkf = g_hash_table_find ( vtl->tracks, (GHRFunc) trw_layer_track_find_uuid, &udata );
if ( trkf && udata.uuid ) {
/* could be current_tp, so we have to check */
udata.uuid = NULL;
// Hmmm, want key of it
- gpointer *trkf = g_hash_table_find ( vtl->routes, (GHRFunc) trw_layer_track_find_uuid, &udata );
+ gpointer trkf = g_hash_table_find ( vtl->routes, (GHRFunc) trw_layer_track_find_uuid, &udata );
if ( trkf && udata.uuid ) {
/* could be current_tp, so we have to check */
udata.uuid = NULL;
// Hmmm, want key of it
- gpointer *wpf = g_hash_table_find ( vtl->waypoints, (GHRFunc) trw_layer_waypoint_find_uuid, (gpointer) &udata );
+ gpointer wpf = g_hash_table_find ( vtl->waypoints, (GHRFunc) trw_layer_waypoint_find_uuid, (gpointer) &udata );
if ( wpf && udata.uuid ) {
GtkTreeIter *it = g_hash_table_lookup ( vtl->waypoints_iters, udata.uuid );
udata.uuid = NULL;
// Hmmm, want key of it
- gpointer *wpf = g_hash_table_find ( vtl->waypoints, (GHRFunc) trw_layer_waypoint_find_uuid_by_name, (gpointer) &udata );
+ gpointer wpf = g_hash_table_find ( vtl->waypoints, (GHRFunc) trw_layer_waypoint_find_uuid_by_name, (gpointer) &udata );
vik_waypoint_free (udata.wp);
udata.uuid = NULL;
// Hmmm, want key of it
- gpointer *trkf = g_hash_table_find ( ht_tracks, (GHRFunc) trw_layer_track_find_uuid_by_name, &udata );
+ gpointer trkf = g_hash_table_find ( ht_tracks, (GHRFunc) trw_layer_track_find_uuid_by_name, &udata );
vik_track_free (udata.trk);
udataU.uuid = NULL;
// Need key of it for treeview update
- gpointer *wpf = g_hash_table_find ( vtl->waypoints, (GHRFunc) trw_layer_waypoint_find_uuid, &udataU );
+ gpointer wpf = g_hash_table_find ( vtl->waypoints, (GHRFunc) trw_layer_waypoint_find_uuid, &udataU );
if ( wpf && udataU.uuid ) {
GtkTreeIter *it = g_hash_table_lookup ( vtl->waypoints_iters, udataU.uuid );
udataU.uuid = NULL;
// Need key of it for treeview update
- gpointer *wpf = g_hash_table_find ( vtl->waypoints, (GHRFunc) trw_layer_waypoint_find_uuid, &udataU );
+ gpointer wpf = g_hash_table_find ( vtl->waypoints, (GHRFunc) trw_layer_waypoint_find_uuid, &udataU );
if ( wpf && udataU.uuid ) {
GtkTreeIter *it = g_hash_table_lookup ( vtl->waypoints_iters, udataU.uuid );
udata.trk = trk;
udata.uuid = NULL;
- gpointer *trkf = NULL;
+ gpointer trkf = NULL;
if ( trk->is_route )
trkf = g_hash_table_find ( vtl->routes, (GHRFunc) trw_layer_track_find_uuid, &udata );
else
udata.uuid = NULL;
// Also need id of newly created track
- gpointer *trkf;
+ gpointer trkf;
if ( tr->is_route )
trkf = g_hash_table_find ( vtl->routes, (GHRFunc) trw_layer_track_find_uuid, &udata );
else
udataU.uuid = NULL;
// Need want key of it for treeview update
- gpointer *trkf = g_hash_table_find ( track_table, (GHRFunc) trw_layer_track_find_uuid, &udataU );
+ gpointer trkf = g_hash_table_find ( track_table, (GHRFunc) trw_layer_track_find_uuid, &udataU );
if ( trkf && udataU.uuid ) {
vik_treeview_sort_children ( VIK_LAYER(vtl)->vt, &(vtl->routes_iter), vtl->track_sort_order );
}
}
+ g_free ( newname );
// Start trying to find same names again...
track_names = NULL;
trw_layer_waypoint_rename ( vtl, waypoint, newname );
+ g_free (newname);
+
// Start trying to find same names again...
waypoint_names = NULL;
g_hash_table_foreach ( vtl->waypoints, (GHFunc) trw_layer_sorted_wp_id_by_name_list, &waypoint_names );
{
VikTrack *tr = g_hash_table_lookup ( VIK_TRW_LAYER(values[MA_VTL])->routes, values[MA_SUBLAYER_ID] );
if ( tr ) {
- gchar *escaped = uri_escape ( tr->comment );
+ gchar *escaped = g_uri_escape_string ( tr->comment, NULL, TRUE );
gchar *webpage = g_strdup_printf("http://maps.google.com/maps?f=q&hl=en&q=%s", escaped );
open_url(VIK_GTK_WINDOW_FROM_LAYER(VIK_LAYER(values[MA_VTL])), webpage);
g_free ( escaped );
gint x, y;
gint closest_x, closest_y;
gboolean draw_images;
- gpointer *closest_wp_id;
+ gpointer closest_wp_id;
VikWaypoint *closest_wp;
VikViewport *vvp;
} WPSearchParams;
udataU.trk = track;
udataU.uuid = NULL;
- gpointer *trkf;
+ gpointer trkf;
if ( track->is_route )
trkf = g_hash_table_find ( vtl->routes, (GHRFunc) trw_layer_track_find_uuid, &udataU );
else
udata.wp = waypoint;
udata.uuid = NULL;
- gpointer *wpf = g_hash_table_find ( vtl->waypoints, (GHRFunc) trw_layer_waypoint_find_uuid, (gpointer) &udata );
+ gpointer wpf = g_hash_table_find ( vtl->waypoints, (GHRFunc) trw_layer_waypoint_find_uuid, (gpointer) &udata );
if ( wpf && udata.uuid ) {
GtkTreeIter *iter = g_hash_table_lookup ( vtl->waypoints_iters, udata.uuid );