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 | 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 | 57 | void ui_action_set_options(GtkAction *action, struct parser *info, const gchar **name, const gchar **value, GError **error) |
45 | 58 | { |
46 | 59 | int f; |
... | ... | @@ -97,17 +110,11 @@ |
97 | 110 | { |
98 | 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 | 113 | else if(!g_ascii_strcasecmp(name[f],"id")) |
107 | 114 | { |
108 | 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 | 119 | g_object_set_data(G_OBJECT(action),name[f],g_string_chunk_insert_const(info->strings,value[f])); |
113 | 120 | } | ... | ... |