Commit 58012c44aa039e580ad4226542df999b84992fa2
1 parent
e7742e02
Exists in
master
and in
5 other branches
Implementando actions.
Showing
2 changed files
with
39 additions
and
3 deletions
Show diff stats
src/gtk/actions.c
... | ... | @@ -49,7 +49,6 @@ static void lib3270_action(GtkAction *action, GtkWidget *widget) |
49 | 49 | static void connect_action(GtkAction *action, GtkWidget *widget) |
50 | 50 | { |
51 | 51 | gchar *host = (gchar *) g_object_get_data(G_OBJECT(action),"host"); |
52 | - int f; | |
53 | 52 | |
54 | 53 | trace("Action %s activated on widget %p",gtk_action_get_name(action),widget); |
55 | 54 | |
... | ... | @@ -71,6 +70,11 @@ static void connect_action(GtkAction *action, GtkWidget *widget) |
71 | 70 | hostname_action(action,widget); |
72 | 71 | } |
73 | 72 | |
73 | +static void nop_action(GtkAction *action, GtkWidget *widget) | |
74 | +{ | |
75 | + trace("Action %s activated on widget %p",gtk_action_get_name(action),widget); | |
76 | +} | |
77 | + | |
74 | 78 | static void disconnect_action(GtkAction *action, GtkWidget *widget) |
75 | 79 | { |
76 | 80 | trace("Action %s activated on widget %p",gtk_action_get_name(action),widget); |
... | ... | @@ -200,8 +204,6 @@ static void cursor_move_action(GtkAction *action, GtkWidget *widget) |
200 | 204 | |
201 | 205 | static void connect_move_action(GtkAction *action, GtkWidget *widget, const gchar *target, unsigned short flags, GError **error) |
202 | 206 | { |
203 | - int f; | |
204 | - | |
205 | 207 | if(!target) |
206 | 208 | { |
207 | 209 | gtk_action_set_sensitive(action,FALSE); |
... | ... | @@ -378,6 +380,37 @@ GtkAction * ui_get_action(GtkWidget *widget, const gchar *name, GHashTable *hash |
378 | 380 | nm = g_strconcat(name,attr, NULL); |
379 | 381 | |
380 | 382 | } |
383 | + else if(!(g_strcasecmp(name,"save") && g_strcasecmp(name,"print"))) | |
384 | + { | |
385 | + action_type = ACTION_TYPE_TABLE; | |
386 | + attr = ui_get_attribute("src",names,values); | |
387 | + | |
388 | + if(!attr) | |
389 | + { | |
390 | + *error = g_error_new(ERROR_DOMAIN,EINVAL,_("%s action needs src attribute" ), name); | |
391 | + return NULL; | |
392 | + } | |
393 | + else | |
394 | + { | |
395 | + static const GCallback cbk[] = { G_CALLBACK(nop_action), | |
396 | + G_CALLBACK(nop_action), | |
397 | + G_CALLBACK(nop_action) | |
398 | + }; | |
399 | + static const gchar * src[] = { "all", | |
400 | + "selected", | |
401 | + "copy", | |
402 | + NULL | |
403 | + }; | |
404 | + id = id_from_array(attr,src,error); | |
405 | + if(id < 0) | |
406 | + return NULL; | |
407 | + | |
408 | + callback = cbk; | |
409 | + } | |
410 | + | |
411 | + nm = g_strconcat(name,attr, NULL); | |
412 | + | |
413 | + } | |
381 | 414 | else if(!g_strcasecmp(name,"set")) |
382 | 415 | { |
383 | 416 | action_type = ACTION_TYPE_SET; | ... | ... |
src/gtk/pw3270-GTK.cbp