X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/da1293ca8710152402cb5ec34e2d1a86912d73d9..cbd09b9f876c3cd51e77df742db2bb05b8c97261:/src/viklayerspanel.c diff --git a/src/viklayerspanel.c b/src/viklayerspanel.c index 4205eac9..60ff221b 100644 --- a/src/viklayerspanel.c +++ b/src/viklayerspanel.c @@ -24,6 +24,7 @@ #endif #include "viking.h" +#include "settings.h" #include @@ -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 */ }