]> git.street.me.uk Git - andy/viking.git/blobdiff - src/viklayerspanel.c
Add advanced setting to create TrackWaypoint layers without asking for details.
[andy/viking.git] / src / viklayerspanel.c
index 96b0cbf7e289314ce24638cc2ced6db84fe195c4..cc4f6a999de69638a59bf8780c1c8b17bc7e63c9 100644 (file)
@@ -24,6 +24,7 @@
 #endif
 
 #include "viking.h"
+#include "settings.h"
 
 #include <string.h>
 
@@ -180,7 +181,7 @@ static void vik_layers_panel_init ( VikLayersPanel *vlp )
   vik_layer_rename ( VIK_LAYER(vlp->toplayer), _("Top Layer"));
   g_signal_connect_swapped ( G_OBJECT(vlp->toplayer), "update", G_CALLBACK(vik_layers_panel_emit_update), vlp );
 
-  vik_treeview_add_layer ( vlp->vt, NULL, &(vlp->toplayer_iter), VIK_LAYER(vlp->toplayer)->name, NULL, TRUE, vlp->toplayer, VIK_LAYER_AGGREGATE, VIK_LAYER_AGGREGATE );
+  vik_treeview_add_layer ( vlp->vt, NULL, &(vlp->toplayer_iter), VIK_LAYER(vlp->toplayer)->name, NULL, TRUE, vlp->toplayer, VIK_LAYER_AGGREGATE, VIK_LAYER_AGGREGATE, 0 );
   vik_layer_realize ( VIK_LAYER(vlp->toplayer), vlp->vt, &(vlp->toplayer_iter) );
 
   g_signal_connect_swapped ( vlp->vt, "popup_menu", G_CALLBACK(menu_popup_cb), vlp);
@@ -442,6 +443,7 @@ static void layers_popup_cb ( VikLayersPanel *vlp )
   layers_popup ( vlp, NULL, 0 );
 }
 
+#define VIK_SETTINGS_LAYERS_TRW_CREATE_DEFAULT "layers_create_trw_auto_default"
 /**
  * vik_layers_panel_new_layer:
  * @type: type of the new layer
@@ -452,7 +454,11 @@ gboolean vik_layers_panel_new_layer ( VikLayersPanel *vlp, VikLayerTypeEnum type
 {
   VikLayer *l;
   g_assert ( vlp->vvp );
-  l = vik_layer_create ( type, vlp->vvp, TRUE );
+  gboolean ask_user = FALSE;
+  if ( type == VIK_LAYER_TRW )
+    a_settings_get_boolean ( VIK_SETTINGS_LAYERS_TRW_CREATE_DEFAULT, &ask_user );
+  ask_user = !ask_user;
+  l = vik_layer_create ( type, vlp->vvp, ask_user );
   if ( l )
   {
     vik_layers_panel_add_layer ( vlp, l );