]> git.street.me.uk Git - andy/viking.git/blobdiff - src/viklayerspanel.c
Import Launchpad translation updates - French Update.
[andy/viking.git] / src / viklayerspanel.c
index 4205eac93eba8901de1157c06991d48601011137..60ff221be4ddc12d7ca3f8392147f1b411fb78e5 100644 (file)
@@ -24,6 +24,7 @@
 #endif
 
 #include "viking.h"
+#include "settings.h"
 
 #include <string.h>
 
@@ -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 )
+    (void)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 );
@@ -742,9 +748,12 @@ VikAggregateLayer *vik_layers_panel_get_top_layer ( VikLayersPanel *vlp )
   return vlp->toplayer;
 }
 
+/**
+ * Remove all layers
+ */
 void vik_layers_panel_clear ( VikLayersPanel *vlp )
 {
-  if ( (! vik_aggregate_layer_is_empty(vlp->toplayer)) && a_dialog_yes_or_no ( VIK_GTK_WINDOW_FROM_WIDGET(vlp), _("Are you sure you wish to delete all layers?"), NULL ) ) {
+  if ( ! vik_aggregate_layer_is_empty(vlp->toplayer) ) {
     g_signal_emit ( G_OBJECT(vlp), layers_panel_signals[VLP_DELETE_LAYER_SIGNAL], 0 );
     vik_aggregate_layer_clear ( vlp->toplayer ); /* simply deletes all layers */
   }