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,13 +39,6 @@ | ||
| 39 | static const const LIB3270_OPTION_ENTRY options[LIB3270_OPTION_COUNT+1] = | 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 | LIB3270_OPTION_KYBD_AS400, | 42 | LIB3270_OPTION_KYBD_AS400, |
| 50 | "as400", | 43 | "as400", |
| 51 | N_( "Host is AS/400" ), | 44 | N_( "Host is AS/400" ), |
| @@ -84,6 +77,37 @@ LIB3270_EXPORT void lib3270_set_options(H3270 *hSession, LIB3270_OPTION opt) | @@ -84,6 +77,37 @@ LIB3270_EXPORT void lib3270_set_options(H3270 *hSession, LIB3270_OPTION opt) | ||
| 84 | hSession->options = opt; | 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 | LIB3270_EXPORT const LIB3270_OPTION_ENTRY * lib3270_get_option_list(void) | 111 | LIB3270_EXPORT const LIB3270_OPTION_ENTRY * lib3270_get_option_list(void) |
| 88 | { | 112 | { |
| 89 | return options; | 113 | return options; |
| @@ -820,13 +820,13 @@ static void do_qr_color(H3270 *hSession) | @@ -820,13 +820,13 @@ static void do_qr_color(H3270 *hSession) | ||
| 820 | 820 | ||
| 821 | trace_ds(hSession,"> QueryReply(Color)\n"); | 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 | space3270out(hSession,4 + 2*15); | 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 | for (i = 0xf1; i < 0xf1 + color_max - 1; i++) | 830 | for (i = 0xf1; i < 0xf1 + color_max - 1; i++) |
| 831 | { | 831 | { |
| 832 | *hSession->obptr++ = i; | 832 | *hSession->obptr++ = i; |