diff options
Diffstat (limited to 'apps/menu.c')
-rw-r--r-- | apps/menu.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/apps/menu.c b/apps/menu.c index e47523d4e4..72e4289fc5 100644 --- a/apps/menu.c +++ b/apps/menu.c | |||
@@ -33,6 +33,7 @@ | |||
33 | #include "status.h" | 33 | #include "status.h" |
34 | #include "screens.h" | 34 | #include "screens.h" |
35 | #include "talk.h" | 35 | #include "talk.h" |
36 | #include "lang.h" | ||
36 | 37 | ||
37 | #ifdef HAVE_LCD_BITMAP | 38 | #ifdef HAVE_LCD_BITMAP |
38 | #include "icons.h" | 39 | #include "icons.h" |
@@ -177,12 +178,12 @@ void menu_draw(int m) | |||
177 | #ifdef HAVE_LCD_BITMAP | 178 | #ifdef HAVE_LCD_BITMAP |
178 | if (global_settings.invert_cursor) | 179 | if (global_settings.invert_cursor) |
179 | lcd_puts_scroll_style(LINE_X, i-menus[m].top, | 180 | lcd_puts_scroll_style(LINE_X, i-menus[m].top, |
180 | menus[m].items[i].desc, STYLE_INVERT); | 181 | P2STR(menus[m].items[i].desc), STYLE_INVERT); |
181 | else | 182 | else |
182 | #endif | 183 | #endif |
183 | lcd_puts_scroll(LINE_X, i-menus[m].top, menus[m].items[i].desc); | 184 | lcd_puts_scroll(LINE_X, i-menus[m].top, P2STR(menus[m].items[i].desc)); |
184 | else | 185 | else |
185 | lcd_puts(LINE_X, i-menus[m].top, menus[m].items[i].desc); | 186 | lcd_puts(LINE_X, i-menus[m].top, P2STR(menus[m].items[i].desc)); |
186 | } | 187 | } |
187 | 188 | ||
188 | /* place the cursor */ | 189 | /* place the cursor */ |
@@ -216,13 +217,13 @@ static void put_cursor(int m, int target) | |||
216 | /* "say" the entry under the cursor */ | 217 | /* "say" the entry under the cursor */ |
217 | if(global_settings.talk_menu) | 218 | if(global_settings.talk_menu) |
218 | { | 219 | { |
219 | voice_id = menus[m].items[menus[m].cursor].voice_id; | 220 | voice_id = P2ID(menus[m].items[menus[m].cursor].desc); |
220 | if (voice_id >= 0) /* valid ID given? */ | 221 | if (voice_id >= 0) /* valid ID given? */ |
221 | talk_id(voice_id, false); /* say it */ | 222 | talk_id(voice_id, false); /* say it */ |
222 | } | 223 | } |
223 | } | 224 | } |
224 | 225 | ||
225 | int menu_init(struct menu_item* mitems, int count, int (*callback)(int, int), | 226 | int menu_init(const struct menu_item* mitems, int count, int (*callback)(int, int), |
226 | char *button1, char *button2, char *button3) | 227 | char *button1, char *button2, char *button3) |
227 | { | 228 | { |
228 | int i; | 229 | int i; |
@@ -237,7 +238,7 @@ int menu_init(struct menu_item* mitems, int count, int (*callback)(int, int), | |||
237 | DEBUGF("Out of menus!\n"); | 238 | DEBUGF("Out of menus!\n"); |
238 | return -1; | 239 | return -1; |
239 | } | 240 | } |
240 | menus[i].items = mitems; | 241 | menus[i].items = (struct menu_item*)mitems; /* de-const */ |
241 | menus[i].itemcount = count; | 242 | menus[i].itemcount = count; |
242 | menus[i].top = 0; | 243 | menus[i].top = 0; |
243 | menus[i].cursor = 0; | 244 | menus[i].cursor = 0; |
@@ -417,7 +418,7 @@ int menu_cursor(int menu) | |||
417 | 418 | ||
418 | char* menu_description(int menu, int position) | 419 | char* menu_description(int menu, int position) |
419 | { | 420 | { |
420 | return menus[menu].items[position].desc; | 421 | return P2STR(menus[menu].items[position].desc); |
421 | } | 422 | } |
422 | 423 | ||
423 | /* | 424 | /* |
@@ -440,8 +441,7 @@ void menu_delete(int menu, int position) | |||
440 | menus[menu].cursor = menus[menu].itemcount - 1; | 441 | menus[menu].cursor = menus[menu].itemcount - 1; |
441 | } | 442 | } |
442 | 443 | ||
443 | void menu_insert(int menu, int position, char *desc, int voice_id, | 444 | void menu_insert(int menu, int position, char *desc, bool (*function) (void)) |
444 | bool (*function) (void)) | ||
445 | { | 445 | { |
446 | int i; | 446 | int i; |
447 | 447 | ||
@@ -457,7 +457,6 @@ void menu_insert(int menu, int position, char *desc, int voice_id, | |||
457 | 457 | ||
458 | /* Update the current item */ | 458 | /* Update the current item */ |
459 | menus[menu].items[position].desc = desc; | 459 | menus[menu].items[position].desc = desc; |
460 | menus[menu].items[position].voice_id = voice_id; | ||
461 | menus[menu].items[position].function = function; | 460 | menus[menu].items[position].function = function; |
462 | } | 461 | } |
463 | 462 | ||