From db38663066030dcae101041ee0bdfd331d7eeae5 Mon Sep 17 00:00:00 2001 From: Rob Norris Date: Fri, 16 Nov 2012 23:43:17 +0000 Subject: [PATCH] [I8N] Maintain .vik file compatibilty with translated layer names. Translation capability added in SHA1:affcc0f201d869d534f305e2b955e2afcc2975fe Unfortunately this 'name' is also used as the Layer identifier in .vik files. Thus separate out the layer name for file use only and on for I8N for display use. --- src/file.c | 4 ++-- src/vikaggregatelayer.c | 1 + src/vikcoordlayer.c | 1 + src/vikdemlayer.c | 1 + src/vikgeoreflayer.c | 1 + src/vikgpslayer.c | 1 + src/viklayer.h | 3 ++- src/vikmapslayer.c | 1 + src/viktrwlayer.c | 1 + 9 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/file.c b/src/file.c index e473228d..df82a2ae 100644 --- a/src/file.c +++ b/src/file.c @@ -100,7 +100,7 @@ static guint16 layer_type_from_string ( const gchar *str ) { guint8 i; for ( i = 0; i < VIK_LAYER_NUM_TYPES; i++ ) - if ( strcasecmp ( str, vik_layer_get_interface(i)->name ) == 0 ) + if ( strcasecmp ( str, vik_layer_get_interface(i)->fixed_layer_name ) == 0 ) return i; return -1; } @@ -209,7 +209,7 @@ static void file_write ( VikAggregateLayer *top, FILE *f, gpointer vp ) while (stack && stack->data) { current_layer = VIK_LAYER(((GList *)stack->data)->data); - fprintf ( f, "\n~Layer %s\n", vik_layer_get_interface(current_layer->type)->name ); + fprintf ( f, "\n~Layer %s\n", vik_layer_get_interface(current_layer->type)->fixed_layer_name ); write_layer_params_and_data ( current_layer, f ); if ( current_layer->type == VIK_LAYER_AGGREGATE && !vik_aggregate_layer_is_empty(VIK_AGGREGATE_LAYER(current_layer)) ) { diff --git a/src/vikaggregatelayer.c b/src/vikaggregatelayer.c index a545eb93..3b2aa875 100644 --- a/src/vikaggregatelayer.c +++ b/src/vikaggregatelayer.c @@ -33,6 +33,7 @@ static void aggregate_layer_change_coord_mode ( VikAggregateLayer *val, VikCoord static void aggregate_layer_drag_drop_request ( VikAggregateLayer *val_src, VikAggregateLayer *val_dest, GtkTreeIter *src_item_iter, GtkTreePath *dest_path ); VikLayerInterface vik_aggregate_layer_interface = { + "Aggregate", N_("Aggregate"), "A", &vikaggregatelayer_pixbuf, diff --git a/src/vikcoordlayer.c b/src/vikcoordlayer.c index e6aaf593..94e044de 100644 --- a/src/vikcoordlayer.c +++ b/src/vikcoordlayer.c @@ -52,6 +52,7 @@ static VikLayerParam coord_layer_params[] = { enum { PARAM_COLOR = 0, PARAM_MIN_INC, PARAM_LINE_THICKNESS, NUM_PARAMS }; VikLayerInterface vik_coord_layer_interface = { + "Coord", N_("Coordinate"), NULL, &vikcoordlayer_pixbuf, diff --git a/src/vikdemlayer.c b/src/vikdemlayer.c index 52c0b3da..2e5354d2 100644 --- a/src/vikdemlayer.c +++ b/src/vikdemlayer.c @@ -184,6 +184,7 @@ static const guint DEM_N_GRADIENT_COLORS = sizeof(dem_gradient_colors)/sizeof(de VikLayerInterface vik_dem_layer_interface = { + "DEM", N_("DEM"), "D", &vikdemlayer_pixbuf, diff --git a/src/vikgeoreflayer.c b/src/vikgeoreflayer.c index c02f404a..7114fb39 100644 --- a/src/vikgeoreflayer.c +++ b/src/vikgeoreflayer.c @@ -83,6 +83,7 @@ static VikToolInterface georef_tools[] = { }; VikLayerInterface vik_georef_layer_interface = { + "GeoRef Map", N_("GeoRef Map"), NULL, &vikgeoreflayer_pixbuf, /*icon */ diff --git a/src/vikgpslayer.c b/src/vikgpslayer.c index 439005cf..a2165193 100644 --- a/src/vikgpslayer.c +++ b/src/vikgpslayer.c @@ -176,6 +176,7 @@ enum { NUM_PARAMS}; VikLayerInterface vik_gps_layer_interface = { + "GPS", N_("GPS"), NULL, &vikgpslayer_pixbuf, diff --git a/src/viklayer.h b/src/viklayer.h index 37f06cee..69da91d7 100644 --- a/src/viklayer.h +++ b/src/viklayer.h @@ -204,7 +204,8 @@ typedef struct _VikLayerInterface VikLayerInterface; /* See vik_layer_* for function parameter names */ struct _VikLayerInterface { - const gchar * name; + const gchar * fixed_layer_name; // Used in .vik files - this should never change to maintain file compatibility + const gchar * name; // Translate-able name used for display purposes const gchar * accelerator; const GdkPixdata * icon; diff --git a/src/vikmapslayer.c b/src/vikmapslayer.c index 89067720..73e11e43 100644 --- a/src/vikmapslayer.c +++ b/src/vikmapslayer.c @@ -145,6 +145,7 @@ static VikToolInterface maps_tools[] = { }; VikLayerInterface vik_maps_layer_interface = { + "Map", N_("Map"), "M", &vikmapslayer_pixbuf, diff --git a/src/viktrwlayer.c b/src/viktrwlayer.c index c631db8e..bf4b08b3 100644 --- a/src/viktrwlayer.c +++ b/src/viktrwlayer.c @@ -525,6 +525,7 @@ static gboolean trw_layer_show_selected_viewport_menu ( VikTrwLayer *vtl, GdkEve /* End Layer Interface function definitions */ VikLayerInterface vik_trw_layer_interface = { + "TrackWaypoint", N_("TrackWaypoint"), "Y", &viktrwlayer_pixbuf, -- 2.39.5