Commit fa8e805ec8d6e844ca7e7a082754bbaa56b62046
1 parent
1e41280f
Exists in
master
and in
5 other branches
Evitando redundancias no dialogo de configuracao de hostname
Showing
3 changed files
with
28 additions
and
46 deletions
Show diff stats
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); | ... | ... |