Commit 0b4d159597161b73681330400f43f3bd473d0360
1 parent
002efa70
Exists in
master
and in
3 other branches
Adding methods to get translated properties.
Showing
5 changed files
with
76 additions
and
26 deletions
Show diff stats
src/core/properties/get.c
@@ -34,24 +34,30 @@ | @@ -34,24 +34,30 @@ | ||
34 | #include <lib3270/properties.h> | 34 | #include <lib3270/properties.h> |
35 | #include <utilc.h> | 35 | #include <utilc.h> |
36 | 36 | ||
37 | - LIB3270_EXPORT const char * lib3270_property_get_description(const LIB3270_PROPERTY * property) { | 37 | + LIB3270_EXPORT const char * lib3270_property_get_label(const LIB3270_PROPERTY * property) { |
38 | + | ||
39 | + if(property && property->label) | ||
40 | + return dgettext(GETTEXT_PACKAGE,property->label); | ||
41 | + | ||
42 | + return ""; | ||
38 | 43 | ||
39 | - if(property->description) | ||
40 | - return property->description; | 44 | + } |
45 | + | ||
46 | + LIB3270_EXPORT const char * lib3270_property_get_description(const LIB3270_PROPERTY * property) { | ||
41 | 47 | ||
42 | - if(property->summary) | ||
43 | - return property->summary; | 48 | + if(property && property->description) |
49 | + return dgettext(GETTEXT_PACKAGE,property->description); | ||
44 | 50 | ||
45 | - return property->name; | 51 | + return ""; |
46 | 52 | ||
47 | } | 53 | } |
48 | 54 | ||
49 | LIB3270_EXPORT const char * lib3270_property_get_summary(const LIB3270_PROPERTY * property) { | 55 | LIB3270_EXPORT const char * lib3270_property_get_summary(const LIB3270_PROPERTY * property) { |
50 | 56 | ||
51 | - if(property->summary) | ||
52 | - return property->summary; | 57 | + if(property && property->summary) |
58 | + return dgettext(GETTEXT_PACKAGE,property->summary); | ||
53 | 59 | ||
54 | - return property->name; | 60 | + return ""; |
55 | 61 | ||
56 | } | 62 | } |
57 | 63 |
src/core/toggles/getset.c
@@ -30,7 +30,7 @@ | @@ -30,7 +30,7 @@ | ||
30 | 30 | ||
31 | /** | 31 | /** |
32 | * @file toggles/getset.c | 32 | * @file toggles/getset.c |
33 | - * @brief This module handles toggle changes. | 33 | + * @brief This module handles toggle changes and properties. |
34 | */ | 34 | */ |
35 | 35 | ||
36 | #include <config.h> | 36 | #include <config.h> |
@@ -41,8 +41,7 @@ | @@ -41,8 +41,7 @@ | ||
41 | 41 | ||
42 | /*---[ Implement ]------------------------------------------------------------------------------------------------------------*/ | 42 | /*---[ Implement ]------------------------------------------------------------------------------------------------------------*/ |
43 | 43 | ||
44 | -LIB3270_EXPORT unsigned char lib3270_get_toggle(const H3270 *hSession, LIB3270_TOGGLE_ID ix) | ||
45 | -{ | 44 | +LIB3270_EXPORT unsigned char lib3270_get_toggle(const H3270 *hSession, LIB3270_TOGGLE_ID ix) { |
46 | 45 | ||
47 | if(ix < 0 || ix >= LIB3270_TOGGLE_COUNT) { | 46 | if(ix < 0 || ix >= LIB3270_TOGGLE_COUNT) { |
48 | errno = EINVAL; | 47 | errno = EINVAL; |
@@ -55,8 +54,7 @@ LIB3270_EXPORT unsigned char lib3270_get_toggle(const H3270 *hSession, LIB3270_T | @@ -55,8 +54,7 @@ LIB3270_EXPORT unsigned char lib3270_get_toggle(const H3270 *hSession, LIB3270_T | ||
55 | /** | 54 | /** |
56 | * @brief Call the internal update routine and listeners. | 55 | * @brief Call the internal update routine and listeners. |
57 | */ | 56 | */ |
58 | -static void toggle_notify(H3270 *session, struct lib3270_toggle *t, LIB3270_TOGGLE_ID ix) | ||
59 | -{ | 57 | +static void toggle_notify(H3270 *session, struct lib3270_toggle *t, LIB3270_TOGGLE_ID ix) { |
60 | trace("%s: ix=%d upcall=%p",__FUNCTION__,ix,t->upcall); | 58 | trace("%s: ix=%d upcall=%p",__FUNCTION__,ix,t->upcall); |
61 | 59 | ||
62 | t->upcall(session, t, LIB3270_TOGGLE_TYPE_INTERACTIVE); | 60 | t->upcall(session, t, LIB3270_TOGGLE_TYPE_INTERACTIVE); |
@@ -89,8 +87,7 @@ static void toggle_notify(H3270 *session, struct lib3270_toggle *t, LIB3270_TOGG | @@ -89,8 +87,7 @@ static void toggle_notify(H3270 *session, struct lib3270_toggle *t, LIB3270_TOGG | ||
89 | * | 87 | * |
90 | * @returns 0 if the toggle is already at the state, 1 if the toggle was changed; < 0 on error (sets errno). | 88 | * @returns 0 if the toggle is already at the state, 1 if the toggle was changed; < 0 on error (sets errno). |
91 | */ | 89 | */ |
92 | -LIB3270_EXPORT int lib3270_set_toggle(H3270 *session, LIB3270_TOGGLE_ID ix, int value) | ||
93 | -{ | 90 | +LIB3270_EXPORT int lib3270_set_toggle(H3270 *session, LIB3270_TOGGLE_ID ix, int value) { |
94 | char v = value ? True : False; | 91 | char v = value ? True : False; |
95 | struct lib3270_toggle * t; | 92 | struct lib3270_toggle * t; |
96 | 93 | ||
@@ -110,8 +107,7 @@ LIB3270_EXPORT int lib3270_set_toggle(H3270 *session, LIB3270_TOGGLE_ID ix, int | @@ -110,8 +107,7 @@ LIB3270_EXPORT int lib3270_set_toggle(H3270 *session, LIB3270_TOGGLE_ID ix, int | ||
110 | return 1; | 107 | return 1; |
111 | } | 108 | } |
112 | 109 | ||
113 | -LIB3270_EXPORT int lib3270_toggle(H3270 *session, LIB3270_TOGGLE_ID ix) | ||
114 | -{ | 110 | +LIB3270_EXPORT int lib3270_toggle(H3270 *session, LIB3270_TOGGLE_ID ix) { |
115 | struct lib3270_toggle *t; | 111 | struct lib3270_toggle *t; |
116 | 112 | ||
117 | CHECK_SESSION_HANDLE(session); | 113 | CHECK_SESSION_HANDLE(session); |
@@ -128,3 +124,38 @@ LIB3270_EXPORT int lib3270_toggle(H3270 *session, LIB3270_TOGGLE_ID ix) | @@ -128,3 +124,38 @@ LIB3270_EXPORT int lib3270_toggle(H3270 *session, LIB3270_TOGGLE_ID ix) | ||
128 | return (int) t->value; | 124 | return (int) t->value; |
129 | } | 125 | } |
130 | 126 | ||
127 | +LIB3270_EXPORT const char * lib3270_toggle_get_name(const LIB3270_TOGGLE *toggle) { | ||
128 | + | ||
129 | + if(toggle && toggle->name) | ||
130 | + return dgettext(GETTEXT_PACKAGE,toggle->name); | ||
131 | + | ||
132 | + return ""; | ||
133 | + | ||
134 | +} | ||
135 | + | ||
136 | +LIB3270_EXPORT const char * lib3270_toggle_get_label(const LIB3270_TOGGLE *toggle) { | ||
137 | + | ||
138 | + if(toggle && toggle->label) | ||
139 | + return dgettext(GETTEXT_PACKAGE,toggle->label); | ||
140 | + | ||
141 | + return ""; | ||
142 | + | ||
143 | +} | ||
144 | + | ||
145 | +LIB3270_EXPORT const char * lib3270_toggle_get_summary(const LIB3270_TOGGLE *toggle) { | ||
146 | + | ||
147 | + if(toggle && toggle->summary) | ||
148 | + return dgettext(GETTEXT_PACKAGE,toggle->summary); | ||
149 | + | ||
150 | + return ""; | ||
151 | + | ||
152 | +} | ||
153 | + | ||
154 | +LIB3270_EXPORT const char * lib3270_toggle_get_description(const LIB3270_TOGGLE *toggle) { | ||
155 | + | ||
156 | + if(toggle && toggle->description) | ||
157 | + return dgettext(GETTEXT_PACKAGE,toggle->description); | ||
158 | + | ||
159 | + return ""; | ||
160 | + | ||
161 | +} |
src/core/toggles/table.c
@@ -29,8 +29,8 @@ | @@ -29,8 +29,8 @@ | ||
29 | 29 | ||
30 | 30 | ||
31 | /** | 31 | /** |
32 | - * @file toggles/init.c | ||
33 | - * @brief Toggle description table. | 32 | + * @file toggles/table.c |
33 | + * @brief Toggle description table and associated methods. | ||
34 | */ | 34 | */ |
35 | 35 | ||
36 | #include <config.h> | 36 | #include <config.h> |
@@ -342,14 +342,14 @@ LIB3270_EXPORT const LIB3270_TOGGLE * lib3270_get_toggle_list() | @@ -342,14 +342,14 @@ LIB3270_EXPORT const LIB3270_TOGGLE * lib3270_get_toggle_list() | ||
342 | LIB3270_EXPORT const char * lib3270_get_toggle_summary(LIB3270_TOGGLE_ID ix) | 342 | LIB3270_EXPORT const char * lib3270_get_toggle_summary(LIB3270_TOGGLE_ID ix) |
343 | { | 343 | { |
344 | if(ix < LIB3270_TOGGLE_COUNT) | 344 | if(ix < LIB3270_TOGGLE_COUNT) |
345 | - return toggle_descriptor[ix].summary; | 345 | + return lib3270_toggle_get_summary(toggle_descriptor+ix); |
346 | return ""; | 346 | return ""; |
347 | } | 347 | } |
348 | 348 | ||
349 | LIB3270_EXPORT const char * lib3270_get_toggle_label(LIB3270_TOGGLE_ID ix) | 349 | LIB3270_EXPORT const char * lib3270_get_toggle_label(LIB3270_TOGGLE_ID ix) |
350 | { | 350 | { |
351 | if(ix < LIB3270_TOGGLE_COUNT) | 351 | if(ix < LIB3270_TOGGLE_COUNT) |
352 | - return toggle_descriptor[ix].label; | 352 | + return lib3270_toggle_get_label(toggle_descriptor+ix); |
353 | return ""; | 353 | return ""; |
354 | } | 354 | } |
355 | 355 | ||
@@ -357,14 +357,13 @@ LIB3270_EXPORT const char * lib3270_get_toggle_label(LIB3270_TOGGLE_ID ix) | @@ -357,14 +357,13 @@ LIB3270_EXPORT const char * lib3270_get_toggle_label(LIB3270_TOGGLE_ID ix) | ||
357 | LIB3270_EXPORT const char * lib3270_get_toggle_description(LIB3270_TOGGLE_ID ix) | 357 | LIB3270_EXPORT const char * lib3270_get_toggle_description(LIB3270_TOGGLE_ID ix) |
358 | { | 358 | { |
359 | if(ix < LIB3270_TOGGLE_COUNT) | 359 | if(ix < LIB3270_TOGGLE_COUNT) |
360 | - return toggle_descriptor[ix].description; | 360 | + return lib3270_toggle_get_description(toggle_descriptor+ix); |
361 | return ""; | 361 | return ""; |
362 | } | 362 | } |
363 | 363 | ||
364 | -LIB3270_EXPORT const char * lib3270_get_toggle_name(LIB3270_TOGGLE_ID ix) | ||
365 | -{ | 364 | +LIB3270_EXPORT const char * lib3270_get_toggle_name(LIB3270_TOGGLE_ID ix) { |
366 | if(ix < LIB3270_TOGGLE_COUNT) | 365 | if(ix < LIB3270_TOGGLE_COUNT) |
367 | - return toggle_descriptor[ix].name; | 366 | + return lib3270_toggle_get_name(toggle_descriptor+ix); |
368 | return ""; | 367 | return ""; |
369 | } | 368 | } |
370 | 369 |
src/include/lib3270/properties.h
@@ -181,6 +181,12 @@ | @@ -181,6 +181,12 @@ | ||
181 | LIB3270_EXPORT int lib3270_set_oversize(H3270 *hSession, const char *value); | 181 | LIB3270_EXPORT int lib3270_set_oversize(H3270 *hSession, const char *value); |
182 | 182 | ||
183 | /** | 183 | /** |
184 | + * @brief Get property label. | ||
185 | + * | ||
186 | + */ | ||
187 | + LIB3270_EXPORT const char * lib3270_property_get_label(const LIB3270_PROPERTY * property); | ||
188 | + | ||
189 | + /** | ||
184 | * @brief Get property description. | 190 | * @brief Get property description. |
185 | * | 191 | * |
186 | */ | 192 | */ |
src/include/lib3270/toggle.h
@@ -162,6 +162,8 @@ | @@ -162,6 +162,8 @@ | ||
162 | */ | 162 | */ |
163 | LIB3270_EXPORT const char * lib3270_get_toggle_name(LIB3270_TOGGLE_ID ix); | 163 | LIB3270_EXPORT const char * lib3270_get_toggle_name(LIB3270_TOGGLE_ID ix); |
164 | 164 | ||
165 | + | ||
166 | + | ||
165 | /** | 167 | /** |
166 | * @brief Get a long description of the toggle. | 168 | * @brief Get a long description of the toggle. |
167 | * | 169 | * |
@@ -212,6 +214,12 @@ | @@ -212,6 +214,12 @@ | ||
212 | */ | 214 | */ |
213 | LIB3270_EXPORT const LIB3270_TOGGLE * lib3270_toggle_get_from_id(LIB3270_TOGGLE_ID id); | 215 | LIB3270_EXPORT const LIB3270_TOGGLE * lib3270_toggle_get_from_id(LIB3270_TOGGLE_ID id); |
214 | 216 | ||
217 | + LIB3270_EXPORT const char * lib3270_toggle_get_name(const LIB3270_TOGGLE *toggle); | ||
218 | + LIB3270_EXPORT const char * lib3270_toggle_get_label(const LIB3270_TOGGLE *toggle); | ||
219 | + LIB3270_EXPORT const char * lib3270_toggle_get_summary(const LIB3270_TOGGLE *toggle); | ||
220 | + LIB3270_EXPORT const char * lib3270_toggle_get_description(const LIB3270_TOGGLE *toggle); | ||
221 | + | ||
222 | + | ||
215 | #ifdef __cplusplus | 223 | #ifdef __cplusplus |
216 | } | 224 | } |
217 | #endif | 225 | #endif |