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,7 +49,6 @@ static void lib3270_action(GtkAction *action, GtkWidget *widget)
49 static void connect_action(GtkAction *action, GtkWidget *widget) 49 static void connect_action(GtkAction *action, GtkWidget *widget)
50 { 50 {
51 gchar *host = (gchar *) g_object_get_data(G_OBJECT(action),"host"); 51 gchar *host = (gchar *) g_object_get_data(G_OBJECT(action),"host");
52 - int f;  
53 52
54 trace("Action %s activated on widget %p",gtk_action_get_name(action),widget); 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,6 +70,11 @@ static void connect_action(GtkAction *action, GtkWidget *widget)
71 hostname_action(action,widget); 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 static void disconnect_action(GtkAction *action, GtkWidget *widget) 78 static void disconnect_action(GtkAction *action, GtkWidget *widget)
75 { 79 {
76 trace("Action %s activated on widget %p",gtk_action_get_name(action),widget); 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,8 +204,6 @@ static void cursor_move_action(GtkAction *action, GtkWidget *widget)
200 204
201 static void connect_move_action(GtkAction *action, GtkWidget *widget, const gchar *target, unsigned short flags, GError **error) 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 if(!target) 207 if(!target)
206 { 208 {
207 gtk_action_set_sensitive(action,FALSE); 209 gtk_action_set_sensitive(action,FALSE);
@@ -378,6 +380,37 @@ GtkAction * ui_get_action(GtkWidget *widget, const gchar *name, GHashTable *hash @@ -378,6 +380,37 @@ GtkAction * ui_get_action(GtkWidget *widget, const gchar *name, GHashTable *hash
378 nm = g_strconcat(name,attr, NULL); 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 else if(!g_strcasecmp(name,"set")) 414 else if(!g_strcasecmp(name,"set"))
382 { 415 {
383 action_type = ACTION_TYPE_SET; 416 action_type = ACTION_TYPE_SET;
src/gtk/pw3270-GTK.cbp
@@ -46,6 +46,9 @@ @@ -46,6 +46,9 @@
46 <Option compilerVar="CC" /> 46 <Option compilerVar="CC" />
47 </Unit> 47 </Unit>
48 <Unit filename="common\sources.mak" /> 48 <Unit filename="common\sources.mak" />
  49 + <Unit filename="dialog.c">
  50 + <Option compilerVar="CC" />
  51 + </Unit>
49 <Unit filename="fonts.c"> 52 <Unit filename="fonts.c">
50 <Option compilerVar="CC" /> 53 <Option compilerVar="CC" />
51 </Unit> 54 </Unit>