Commit 8f62ea81ada93c7109114ac2d4f6a67520dd8a89
1 parent
09ff5fa1
Exists in
master
and in
3 other branches
Melhorando diálogo de configuração de servidor
Showing
2 changed files
with
36 additions
and
12 deletions
Show diff stats
options.c
| ... | ... | @@ -39,13 +39,6 @@ |
| 39 | 39 | static const const LIB3270_OPTION_ENTRY options[LIB3270_OPTION_COUNT+1] = |
| 40 | 40 | { |
| 41 | 41 | { |
| 42 | - LIB3270_OPTION_COLOR8, | |
| 43 | - "color8", | |
| 44 | - N_( "_8 colors" ), | |
| 45 | - N_( "If active, pw3270 will respond to a Query(Color) with a list of 8 supported colors." ) | |
| 46 | - }, | |
| 47 | - | |
| 48 | - { | |
| 49 | 42 | LIB3270_OPTION_KYBD_AS400, |
| 50 | 43 | "as400", |
| 51 | 44 | N_( "Host is AS/400" ), |
| ... | ... | @@ -84,6 +77,37 @@ LIB3270_EXPORT void lib3270_set_options(H3270 *hSession, LIB3270_OPTION opt) |
| 84 | 77 | hSession->options = opt; |
| 85 | 78 | } |
| 86 | 79 | |
| 80 | +LIB3270_EXPORT int lib3270_set_color_type(H3270 *hSession, unsigned short colortype) | |
| 81 | +{ | |
| 82 | + CHECK_SESSION_HANDLE(hSession); | |
| 83 | + | |
| 84 | + switch(colortype) | |
| 85 | + { | |
| 86 | + case 0: | |
| 87 | + case 16: | |
| 88 | + hSession->colors = 16; | |
| 89 | + hSession->mono = 0; | |
| 90 | + break; | |
| 91 | + | |
| 92 | + case 8: | |
| 93 | + hSession->colors = 8; | |
| 94 | + hSession->mono = 0; | |
| 95 | + break; | |
| 96 | + | |
| 97 | + case 2: | |
| 98 | + hSession->colors = 16; | |
| 99 | + hSession->mono = 1; | |
| 100 | + break; | |
| 101 | + | |
| 102 | + default: | |
| 103 | + return EINVAL; | |
| 104 | + } | |
| 105 | + | |
| 106 | + | |
| 107 | + return 0; | |
| 108 | +} | |
| 109 | + | |
| 110 | + | |
| 87 | 111 | LIB3270_EXPORT const LIB3270_OPTION_ENTRY * lib3270_get_option_list(void) |
| 88 | 112 | { |
| 89 | 113 | return options; | ... | ... |
| ... | ... | @@ -820,13 +820,13 @@ static void do_qr_color(H3270 *hSession) |
| 820 | 820 | |
| 821 | 821 | trace_ds(hSession,"> QueryReply(Color)\n"); |
| 822 | 822 | |
| 823 | - color_max = (hSession->options & LIB3270_OPTION_COLOR8) ? 8: 16; /* report on 8 or 16 colors */ | |
| 823 | + color_max = (hSession->colors == 8) ? 8: 16; /* report on 8 or 16 colors */ | |
| 824 | 824 | |
| 825 | 825 | space3270out(hSession,4 + 2*15); |
| 826 | - *hSession->obptr++ = 0x00; /* no options */ | |
| 827 | - *hSession->obptr++ = color_max; /* report on 8 or 16 colors */ | |
| 828 | - *hSession->obptr++ = 0x00; /* default color: */ | |
| 829 | - *hSession->obptr++ = 0xf0 + COLOR_GREEN; /* green */ | |
| 826 | + *hSession->obptr++ = 0x00; /* no options */ | |
| 827 | + *hSession->obptr++ = color_max; /* report on 8 or 16 colors */ | |
| 828 | + *hSession->obptr++ = 0x00; /* default color: */ | |
| 829 | + *hSession->obptr++ = 0xf0 + COLOR_GREEN; /* green */ | |
| 830 | 830 | for (i = 0xf1; i < 0xf1 + color_max - 1; i++) |
| 831 | 831 | { |
| 832 | 832 | *hSession->obptr++ = i; | ... | ... |