X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/28c82d8b28ffaae83acf74f348ddb7f864d0ce58..d1302dec6a62b524b7710ec460722311b7994b8d:/src/viklayer.c?ds=sidebyside diff --git a/src/viklayer.c b/src/viklayer.c index d40abc62..ce9e04fb 100644 --- a/src/viklayer.c +++ b/src/viklayer.c @@ -19,6 +19,12 @@ * */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + #include "viking.h" #include @@ -175,7 +181,9 @@ VikLayer *vik_layer_create ( gint type, gpointer vp, GtkWindow *w, gboolean inte if ( interactive ) { if ( vik_layer_properties ( new_layer, vp ) ) - vik_layer_rename ( VIK_LAYER(new_layer), vik_layer_interfaces[type]->name ); + /* We translate the name here */ + /* in order to avoid translating name set by user */ + vik_layer_rename ( VIK_LAYER(new_layer), _(vik_layer_interfaces[type]->name) ); else { g_object_unref ( G_OBJECT(new_layer) ); /* cancel that */ @@ -251,6 +259,7 @@ void vik_layer_marshall_params ( VikLayer *vl, guint8 **data, gint *datalen ) guint16 i, params_count = vik_layer_get_interface(vl->type)->params_count; for ( i = 0; i < params_count; i++ ) { + g_debug("%s: %s", __FUNCTION__, params[i].name); d = get_param(vl, i); switch ( params[i].type ) { @@ -315,6 +324,7 @@ void vik_layer_unmarshall_params ( VikLayer *vl, guint8 *data, gint datalen, Vik guint16 i, params_count = vik_layer_get_interface(vl->type)->params_count; for ( i = 0; i < params_count; i++ ) { + g_debug("%s: %s", __FUNCTION__, params[i].name); switch ( params[i].type ) { case VIK_LAYER_PARAM_STRING: @@ -451,15 +461,18 @@ void vik_layer_post_read ( VikLayer *layer, VikViewport *vp, gboolean from_file static gboolean layer_properties_factory ( VikLayer *vl, VikViewport *vp ) { switch ( a_uibuilder_properties_factory ( VIK_GTK_WINDOW_FROM_WIDGET(vp), - vik_layer_interfaces[vl->type]->params, - vik_layer_interfaces[vl->type]->params_count, - vik_layer_interfaces[vl->type]->params_groups, - vik_layer_interfaces[vl->type]->params_groups_count, - vik_layer_interfaces[vl->type]->set_param, vl, vp, - vik_layer_interfaces[vl->type]->get_param, vl) ) { + vik_layer_interfaces[vl->type]->params, + vik_layer_interfaces[vl->type]->params_count, + vik_layer_interfaces[vl->type]->params_groups, + vik_layer_interfaces[vl->type]->params_groups_count, + (gpointer) vik_layer_interfaces[vl->type]->set_param, + vl, + vp, + (gpointer) vik_layer_interfaces[vl->type]->get_param, + vl) ) { case 0: - return FALSE; case 3: + return FALSE; /* redraw (?) */ case 2: vik_layer_post_read ( vl, vp, FALSE ); /* update any gc's */ @@ -468,54 +481,3 @@ static gboolean layer_properties_factory ( VikLayer *vl, VikViewport *vp ) } } -static GdkCursor ***layers_cursors; - -GdkCursor *vik_layer_get_tool_cursor ( gint layer_id, gint tool_id ) -{ - if ( layer_id >= VIK_LAYER_NUM_TYPES ) - return NULL; - if ( tool_id >= vik_layer_interfaces[layer_id]->tools_count ) - return NULL; - return layers_cursors[layer_id][tool_id]; -} - -void vik_layer_cursors_init() -{ - gint i, j; - layers_cursors = g_malloc ( sizeof(GdkCursor **) * VIK_LAYER_NUM_TYPES ); - for ( i = 0 ; i < VIK_LAYER_NUM_TYPES; i++ ) { - if ( vik_layer_interfaces[i]->tools_count ) { - layers_cursors[i] = g_malloc ( sizeof(GdkCursor *) * vik_layer_interfaces[i]->tools_count ); - for ( j = 0; j < vik_layer_interfaces[i]->tools_count; j++ ) { - if ( vik_layer_interfaces[i]->tools[j].cursor ) { - const GdkPixdata *cursor_pixdata = vik_layer_interfaces[i]->tools[j].cursor; - GError *cursor_load_err = NULL; - GdkPixbuf *cursor_pixbuf = gdk_pixbuf_from_pixdata (cursor_pixdata, FALSE, &cursor_load_err); - /* TODO: settable offeset */ - GdkCursor *cursor = gdk_cursor_new_from_pixbuf ( gdk_display_get_default(), cursor_pixbuf, 3, 3 ); - layers_cursors[i][j] = cursor; - - g_object_unref ( G_OBJECT(cursor_pixbuf) ); - } - else - layers_cursors[i][j] = NULL; - } - } else - layers_cursors[i] = NULL; - } -} - -void vik_layer_cursors_uninit() -{ - gint i, j; - for ( i = 0 ; i < VIK_LAYER_NUM_TYPES; i++ ) { - if ( vik_layer_interfaces[i]->tools_count ) { - for ( j = 0; j < vik_layer_interfaces[i]->tools_count; j++ ) { - if ( layers_cursors[i][j] ) - gdk_cursor_unref ( layers_cursors[i][j] ); - } - g_free ( layers_cursors[i] ); - } - } - g_free ( layers_cursors ); -}