Commit fa8e805ec8d6e844ca7e7a082754bbaa56b62046

Authored by perry.werneck@gmail.com
1 parent 1e41280f

Evitando redundancias no dialogo de configuracao de hostname

src/include/lib3270.h
... ... @@ -259,16 +259,11 @@
259 259 #define LIB3270_OPTION_HOST_TYPE 0x0007
260 260 #define LIB3270_OPTION_DEFAULTS LIB3270_OPTION_S390
261 261  
262   -// LIB3270_OPTION_COLOR8 = 0x0001, /**< If active, pw3270 will respond to a Query(Color) with a list of 8 supported colors. */
263   -
264   -// #define LIB3270_OPTION_DEFAULT 0
265   - #define LIB3270_OPTION_COUNT 3
266   -
267 262 typedef struct _lib3270_option_entry
268 263 {
269   - LIB3270_OPTION value;
270   - const char * key;
271   - const char * text;
  264 + LIB3270_OPTION option;
  265 + const char * name;
  266 + const char * description;
272 267 const char * tooltip;
273 268 } LIB3270_OPTION_ENTRY;
274 269  
... ... @@ -398,7 +393,7 @@
398 393 * Set host id for the connect/reconnect operations.
399 394 *
400 395 * @param h Session handle.
401   - * @param url URL of host to set in the format tn3270://hostname:service ou tn3270s://hostname:service .
  396 + * @param url URL of host to set in the format tn3270://hostname:service or tn3270s://hostname:service .
402 397 *
403 398 * @return Processed host url
404 399 *
... ... @@ -415,7 +410,7 @@
415 410 */
416 411 LIB3270_EXPORT const char * lib3270_get_hostname(H3270 *h);
417 412  
418   - LIB3270_EXPORT void lib3270_set_hostname(H3270 *h, const char *hostname);
  413 + LIB3270_EXPORT void lib3270_set_hostname(H3270 *h, const char *hostname);
419 414  
420 415  
421 416 /**
... ...
src/lib3270/options.c
... ... @@ -33,34 +33,32 @@
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   -
48   -
49 36 /*---[ Statics ]--------------------------------------------------------------------------------------------------------------*/
50 37  
51   - static const const LIB3270_OPTION_ENTRY options[LIB3270_OPTION_COUNT+1] =
  38 + static const const LIB3270_OPTION_ENTRY host_type[] =
52 39 {
53 40 {
  41 + LIB3270_OPTION_S390,
  42 + "S390",
  43 + N_( "IBM S/390" ),
  44 + NULL
  45 + },
  46 + {
54 47 LIB3270_OPTION_AS400,
55   - "as400",
56   - N_( "Host is AS/400" ),
  48 + "AS400",
  49 + N_( "IBM AS/400" ),
57 50 NULL
58 51 },
59   -
60 52 {
61 53 LIB3270_OPTION_TSO,
62   - "tso",
63   - N_( "Host is TSO" ),
  54 + "TSO",
  55 + N_( "Other (TSO)" ),
  56 + NULL
  57 + },
  58 + {
  59 + 0,
  60 + "VM/CMS",
  61 + N_( "Other (VM/CMS)" ),
64 62 NULL
65 63 },
66 64  
... ... @@ -70,11 +68,9 @@
70 68 NULL,
71 69 NULL
72 70 }
73   -
74 71 };
75 72  
76 73  
77   -
78 74 /*---[ Implement ]------------------------------------------------------------------------------------------------------------*/
79 75  
80 76 LIB3270_EXPORT LIB3270_OPTION lib3270_get_options(H3270 *hSession)
... ... @@ -134,7 +130,7 @@ LIB3270_EXPORT int lib3270_set_color_type(H3270 *hSession, unsigned short colort
134 130  
135 131 LIB3270_EXPORT const LIB3270_OPTION_ENTRY * lib3270_get_option_list(void)
136 132 {
137   - return options;
  133 + return host_type;
138 134 }
139 135  
140 136 LIB3270_EXPORT int lib3270_is_tso(H3270 *hSession)
... ... @@ -145,6 +141,7 @@ LIB3270_EXPORT int lib3270_is_tso(H3270 *hSession)
145 141  
146 142 LIB3270_EXPORT LIB3270_OPTION lib3270_parse_host_type(const char *name)
147 143 {
  144 +
148 145 int f;
149 146  
150 147 for(f=0;f<(sizeof(host_type)/sizeof(host_type[0]));f++)
... ...
src/pw3270/v3270/hostselect.c
... ... @@ -28,22 +28,11 @@
28 28 */
29 29  
30 30 #include "hostselect.h"
  31 + #include <lib3270/log.h>
31 32 #include <pw3270/v3270.h>
32 33  
33 34 /*--[ Widget definition ]----------------------------------------------------------------------------*/
34 35  
35   - static const struct _host_type
36   - {
37   - const gchar * description;
38   - LIB3270_OPTION option;
39   - } host_type[] =
40   - {
41   - { N_( "IBM S/390" ), LIB3270_OPTION_S390 },
42   - { N_( "IBM AS/400" ), LIB3270_OPTION_AS400 },
43   - { N_( "Other (TSO)" ), LIB3270_OPTION_TSO },
44   - { N_( "Other (VM/CMS)" ), 0 }
45   - };
46   -
47 36 static const struct _colortable
48 37 {
49 38 unsigned short colors;
... ... @@ -191,11 +180,12 @@ static void V3270HostSelectWidget_init(V3270HostSelectWidget *widget)
191 180 gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(widget->combo[0]), renderer, TRUE);
192 181 gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(widget->combo[0]), renderer, "text", 0, NULL);
193 182  
194   - for(f=0;f<G_N_ELEMENTS(host_type);f++)
  183 + const LIB3270_OPTION_ENTRY *entry = lib3270_get_option_list();
  184 + for(f=0;entry[f].name != NULL;f++)
195 185 {
196 186 GtkTreeIter iter;
197 187 gtk_list_store_append((GtkListStore *) model,&iter);
198   - gtk_list_store_set((GtkListStore *) model, &iter, 0, gettext(host_type[f].description), 1, host_type[f].option, -1);
  188 + gtk_list_store_set((GtkListStore *) model, &iter, 0, gettext(entry[f].description), 1, entry[f].option, -1);
199 189 }
200 190  
201 191 g_signal_connect(G_OBJECT(widget->combo[0]),"changed",G_CALLBACK(systype_changed),widget);
... ...