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