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; |