Commit 58012c44aa039e580ad4226542df999b84992fa2

Authored by perry.werneck@gmail.com
1 parent e7742e02

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
... ... @@ -46,6 +46,9 @@
46 46 <Option compilerVar="CC" />
47 47 </Unit>
48 48 <Unit filename="common\sources.mak" />
  49 + <Unit filename="dialog.c">
  50 + <Option compilerVar="CC" />
  51 + </Unit>
49 52 <Unit filename="fonts.c">
50 53 <Option compilerVar="CC" />
51 54 </Unit>
... ...