Commit 3df8901e9df8cf318b1a82e5931caa3c5d28b963
1 parent
5089e43f
Exists in
master
and in
5 other branches
Ajustes para a nova caixa de diálogo
Showing
5 changed files
with
34 additions
and
17 deletions
Show diff stats
src/include/lib3270.h
... | ... | @@ -1060,6 +1060,7 @@ |
1060 | 1060 | LIB3270_EXPORT unsigned short lib3270_get_color_type(H3270 *hSession); |
1061 | 1061 | |
1062 | 1062 | LIB3270_EXPORT int lib3270_set_host_type(H3270 *hSession, const char *name); |
1063 | + LIB3270_EXPORT LIB3270_OPTION lib3270_parse_host_type(const char *name); | |
1063 | 1064 | |
1064 | 1065 | LIB3270_EXPORT const LIB3270_OPTION_ENTRY * lib3270_get_option_list(void); |
1065 | 1066 | ... | ... |
src/include/pw3270/v3270.h
... | ... | @@ -213,6 +213,7 @@ |
213 | 213 | LIB3270_EXPORT void v3270_set_scaled_fonts(GtkWidget *widget, gboolean on); |
214 | 214 | LIB3270_EXPORT void v3270_set_session_options(GtkWidget *widget, LIB3270_OPTION options); |
215 | 215 | LIB3270_EXPORT int v3270_set_session_color_type(GtkWidget *widget, unsigned short colortype); |
216 | + LIB3270_EXPORT int v3270_set_host_type(GtkWidget *widget, const char *name); | |
216 | 217 | LIB3270_EXPORT const gchar * v3270_set_host(GtkWidget *widget, const gchar *uri); |
217 | 218 | LIB3270_EXPORT const gchar * v3270_get_hostname(GtkWidget *widget); |
218 | 219 | LIB3270_EXPORT GtkWidget * v3270_get_default_widget(void); | ... | ... |
src/lib3270/options.c
... | ... | @@ -33,6 +33,18 @@ |
33 | 33 | |
34 | 34 | /*---[ Globals ]--------------------------------------------------------------------------------------------------------------*/ |
35 | 35 | |
36 | + static const struct _host_type | |
37 | + { | |
38 | + const char * name; | |
39 | + LIB3270_OPTION option; | |
40 | + } host_type[] = | |
41 | + { | |
42 | + { "S390", LIB3270_OPTION_S390 }, | |
43 | + { "AS400", LIB3270_OPTION_AS400 }, | |
44 | + { "TSO", LIB3270_OPTION_TSO }, | |
45 | + { "VM/CMS", 0 } | |
46 | + }; | |
47 | + | |
36 | 48 | |
37 | 49 | /*---[ Statics ]--------------------------------------------------------------------------------------------------------------*/ |
38 | 50 | |
... | ... | @@ -80,13 +92,9 @@ LIB3270_EXPORT void lib3270_set_options(H3270 *hSession, LIB3270_OPTION opt) |
80 | 92 | LIB3270_EXPORT unsigned short lib3270_get_color_type(H3270 *hSession) |
81 | 93 | { |
82 | 94 | CHECK_SESSION_HANDLE(hSession); |
83 | - | |
84 | - trace("******************* %d",hSession->colors); | |
85 | - | |
86 | 95 | return hSession->mono ? 2 : hSession->colors; |
87 | 96 | } |
88 | 97 | |
89 | - | |
90 | 98 | LIB3270_EXPORT int lib3270_set_color_type(H3270 *hSession, unsigned short colortype) |
91 | 99 | { |
92 | 100 | CHECK_SESSION_HANDLE(hSession); |
... | ... | @@ -135,20 +143,21 @@ LIB3270_EXPORT int lib3270_is_tso(H3270 *hSession) |
135 | 143 | return (hSession->options & LIB3270_OPTION_TSO) != 0; |
136 | 144 | } |
137 | 145 | |
138 | -LIB3270_EXPORT int lib3270_set_host_type(H3270 *hSession, const char *name) | |
146 | +LIB3270_EXPORT LIB3270_OPTION lib3270_parse_host_type(const char *name) | |
139 | 147 | { |
140 | - static const struct _host_type | |
141 | - { | |
142 | - const char * name; | |
143 | - LIB3270_OPTION option; | |
144 | - } host_type[] = | |
148 | + int f; | |
149 | + | |
150 | + for(f=0;f<(sizeof(host_type)/sizeof(host_type[0]));f++) | |
145 | 151 | { |
146 | - { "S390", LIB3270_OPTION_S390 }, | |
147 | - { "AS400", LIB3270_OPTION_AS400 }, | |
148 | - { "TSO", LIB3270_OPTION_TSO }, | |
149 | - { "VM/CMS", 0 } | |
150 | - }; | |
152 | + if(!strcasecmp(host_type[f].name,name)) | |
153 | + return host_type[f].option; | |
154 | + } | |
151 | 155 | |
156 | + return 0; | |
157 | +} | |
158 | + | |
159 | +LIB3270_EXPORT int lib3270_set_host_type(H3270 *hSession, const char *name) | |
160 | +{ | |
152 | 161 | int f; |
153 | 162 | |
154 | 163 | for(f=0;f<(sizeof(host_type)/sizeof(host_type[0]));f++) | ... | ... |
src/pw3270/v3270/widget.c
... | ... | @@ -1552,6 +1552,12 @@ int v3270_set_session_color_type(GtkWidget *widget, unsigned short colortype) |
1552 | 1552 | return lib3270_set_color_type(GTK_V3270(widget)->host,colortype); |
1553 | 1553 | } |
1554 | 1554 | |
1555 | +int v3270_set_host_type(GtkWidget *widget, const char *name) | |
1556 | +{ | |
1557 | + g_return_val_if_fail(GTK_IS_V3270(widget),EFAULT); | |
1558 | + return lib3270_set_host_type(GTK_V3270(widget)->host,name); | |
1559 | +} | |
1560 | + | |
1555 | 1561 | unsigned short v3270_get_session_color_type(GtkWidget *widget) |
1556 | 1562 | { |
1557 | 1563 | g_return_val_if_fail(GTK_IS_V3270(widget),-1); | ... | ... |
src/pw3270/window.c
... | ... | @@ -195,13 +195,13 @@ |
195 | 195 | g_free(ptr); |
196 | 196 | } |
197 | 197 | |
198 | + */ | |
199 | + | |
198 | 200 | if(colors) |
199 | 201 | set_integer_to_config("host","colortype",colors); |
200 | 202 | else |
201 | 203 | colors = get_integer_from_config("host","colortype",16); |
202 | 204 | |
203 | - */ | |
204 | - | |
205 | 205 | pw3270_set_session_color_type(widget,colors); |
206 | 206 | |
207 | 207 | if(host) | ... | ... |