Commit 878a939d40facf2d25f80ae832a5bfee5661eeb2
1 parent
b6c6f0ef
Exists in
master
and in
5 other branches
Melhorando teste dos atributos que não precisam ser salvos nas "actions" de interface
Showing
1 changed file
with
14 additions
and
7 deletions
Show diff stats
src/pw3270/uiparser/action.c
@@ -41,6 +41,19 @@ | @@ -41,6 +41,19 @@ | ||
41 | return FALSE; | 41 | return FALSE; |
42 | } | 42 | } |
43 | 43 | ||
44 | + static gboolean check_internal_attribute(const gchar *name) | ||
45 | + { | ||
46 | + static const gchar *ignored[] = { "target", "direction", "sysmenu" }; | ||
47 | + int p; | ||
48 | + | ||
49 | + for(p=0;p< G_N_ELEMENTS(ignored);p++) | ||
50 | + { | ||
51 | + if(!g_ascii_strcasecmp(name,ignored[p])) | ||
52 | + return FALSE; | ||
53 | + } | ||
54 | + return TRUE; | ||
55 | + } | ||
56 | + | ||
44 | void ui_action_set_options(GtkAction *action, struct parser *info, const gchar **name, const gchar **value, GError **error) | 57 | void ui_action_set_options(GtkAction *action, struct parser *info, const gchar **name, const gchar **value, GError **error) |
45 | { | 58 | { |
46 | int f; | 59 | int f; |
@@ -97,17 +110,11 @@ | @@ -97,17 +110,11 @@ | ||
97 | { | 110 | { |
98 | g_object_set_data_full(G_OBJECT(action),"accel_attr",g_strdup(value[f]),g_free); | 111 | g_object_set_data_full(G_OBJECT(action),"accel_attr",g_strdup(value[f]),g_free); |
99 | } | 112 | } |
100 | - else if(!g_ascii_strcasecmp(name[f],"target")) | ||
101 | - { | ||
102 | - } | ||
103 | - else if(!g_ascii_strcasecmp(name[f],"direction")) | ||
104 | - { | ||
105 | - } | ||
106 | else if(!g_ascii_strcasecmp(name[f],"id")) | 113 | else if(!g_ascii_strcasecmp(name[f],"id")) |
107 | { | 114 | { |
108 | g_object_set_data(G_OBJECT(action),"action_id",GINT_TO_POINTER(atoi(value[f]))); | 115 | g_object_set_data(G_OBJECT(action),"action_id",GINT_TO_POINTER(atoi(value[f]))); |
109 | } | 116 | } |
110 | - else | 117 | + else if(check_internal_attribute(name[f])) |
111 | { | 118 | { |
112 | g_object_set_data(G_OBJECT(action),name[f],g_string_chunk_insert_const(info->strings,value[f])); | 119 | g_object_set_data(G_OBJECT(action),name[f],g_string_chunk_insert_const(info->strings,value[f])); |
113 | } | 120 | } |