Commit 3df8901e9df8cf318b1a82e5931caa3c5d28b963

Authored by perry.werneck@gmail.com
1 parent 5089e43f

Ajustes para a nova caixa de diálogo

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)
... ...