]> git.street.me.uk Git - andy/viking.git/blobdiff - src/acquire.c
[DOC] Amend help to detail new merge, split and delete points track operations.
[andy/viking.git] / src / acquire.c
index a71df6221c6243b72a83cdcfbfa891a923a0bd4c..a48442bd3567c33689ec695648bfdd6929366446 100644 (file)
@@ -56,7 +56,6 @@ const VikDataSourceInterface *filters[] = {
 const guint N_FILTERS = sizeof(filters) / sizeof(filters[0]);
 
 VikTrack *filter_track = NULL;
 const guint N_FILTERS = sizeof(filters) / sizeof(filters[0]);
 
 VikTrack *filter_track = NULL;
-gchar *filter_track_name = NULL;
 
 /********************************************************/
 
 
 /********************************************************/
 
@@ -122,7 +121,7 @@ static void get_from_anything ( w_and_interface_t *wi )
   // TODO consider removing 'type' and make everything run via the specficied process function
   switch ( source_interface->type ) {
   case VIK_DATASOURCE_GPSBABEL_DIRECT:
   // TODO consider removing 'type' and make everything run via the specficied process function
   switch ( source_interface->type ) {
   case VIK_DATASOURCE_GPSBABEL_DIRECT:
-    result = a_babel_convert_from (vtl, cmd, (BabelStatusFunc) progress_func, extra, w);
+    result = a_babel_convert_from (vtl, cmd, extra, (BabelStatusFunc) progress_func, w);
     break;
   case VIK_DATASOURCE_URL:
     result = a_babel_convert_from_url (vtl, cmd, extra, (BabelStatusFunc) progress_func, w);
     break;
   case VIK_DATASOURCE_URL:
     result = a_babel_convert_from_url (vtl, cmd, extra, (BabelStatusFunc) progress_func, w);
@@ -155,8 +154,10 @@ static void get_from_anything ( w_and_interface_t *wi )
       if ( creating_new_layer ) {
        /* Only create the layer if it actually contains anything useful */
        if ( g_hash_table_size (vik_trw_layer_get_tracks(vtl)) ||
       if ( creating_new_layer ) {
        /* Only create the layer if it actually contains anything useful */
        if ( g_hash_table_size (vik_trw_layer_get_tracks(vtl)) ||
-            g_hash_table_size (vik_trw_layer_get_waypoints(vtl)) )
+            g_hash_table_size (vik_trw_layer_get_waypoints(vtl)) ) {
+         vik_layer_post_read ( VIK_LAYER(vtl), w->vvp, TRUE );
          vik_aggregate_layer_add_layer( vik_layers_panel_get_top_layer(w->vlp), VIK_LAYER(vtl));
          vik_aggregate_layer_add_layer( vik_layers_panel_get_top_layer(w->vlp), VIK_LAYER(vtl));
+       }
        else
          gtk_label_set_text ( GTK_LABEL(w->status), _("No data.") );
       }
        else
          gtk_label_set_text ( GTK_LABEL(w->status), _("No data.") );
       }
@@ -212,7 +213,7 @@ static gchar *write_tmp_track ( VikTrack *track )
   FILE *f;
   g_assert ((fd_src = g_file_open_tmp("tmp-viking.XXXXXX", &name_src, NULL)) >= 0);
   f = fdopen(fd_src, "w");
   FILE *f;
   g_assert ((fd_src = g_file_open_tmp("tmp-viking.XXXXXX", &name_src, NULL)) >= 0);
   f = fdopen(fd_src, "w");
-  a_gpx_write_track_file("track", track, f); /* Thank you Guilhem! Just when I needed this function... -- Evan */
+  a_gpx_write_track_file(track, f); /* Thank you Guilhem! Just when I needed this function... -- Evan */
   fclose(f);
   f = NULL;
   return name_src;
   fclose(f);
   f = NULL;
   return name_src;
@@ -379,7 +380,7 @@ static void acquire ( VikWindow *vw, VikLayersPanel *vlp, VikViewport *vvp, VikD
   else {
     if ( cmd_off ) {
       /* Turn off */
   else {
     if ( cmd_off ) {
       /* Turn off */
-      a_babel_convert_from (NULL, cmd_off, NULL, extra_off, NULL);
+      a_babel_convert_from (NULL, cmd_off, extra_off, NULL, NULL);
     }
     g_free ( w ); /* thread has finished; free w */
   }
     }
     g_free ( w ); /* thread has finished; free w */
   }
@@ -446,7 +447,7 @@ GtkWidget *a_acquire_trwlayer_track_menu (VikWindow *vw, VikLayersPanel *vlp, Vi
   if ( filter_track == NULL )
     return NULL;
   else {
   if ( filter_track == NULL )
     return NULL;
   else {
-    gchar *menu_title = g_strdup_printf ( "Filter with %s", filter_track_name );
+    gchar *menu_title = g_strdup_printf ( "Filter with %s", filter_track->name );
     GtkWidget *rv = acquire_build_menu ( vw, vlp, vvp, vtl, filter_track,
                        menu_title, VIK_DATASOURCE_INPUTTYPE_TRWLAYER_TRACK );
     g_free ( menu_title );
     GtkWidget *rv = acquire_build_menu ( vw, vlp, vvp, vtl, filter_track,
                        menu_title, VIK_DATASOURCE_INPUTTYPE_TRWLAYER_TRACK );
     g_free ( menu_title );
@@ -459,15 +460,11 @@ GtkWidget *a_acquire_track_menu (VikWindow *vw, VikLayersPanel *vlp, VikViewport
   return acquire_build_menu ( vw, vlp, vvp, NULL, tr, "Filter", VIK_DATASOURCE_INPUTTYPE_TRACK );
 }
 
   return acquire_build_menu ( vw, vlp, vvp, NULL, tr, "Filter", VIK_DATASOURCE_INPUTTYPE_TRACK );
 }
 
-void a_acquire_set_filter_track ( VikTrack *tr, const gchar *name )
+void a_acquire_set_filter_track ( VikTrack *tr )
 {
   if ( filter_track )
     vik_track_free ( filter_track );
 {
   if ( filter_track )
     vik_track_free ( filter_track );
-  if ( filter_track_name )
-    g_free ( filter_track_name );
 
   filter_track = tr;
   vik_track_ref ( tr );
 
   filter_track = tr;
   vik_track_ref ( tr );
-
-  filter_track_name = g_strdup(name);
 }
 }