diff options
| author | Jonathan Gordon <rockbox@jdgordon.info> | 2007-04-29 15:31:43 +0000 |
|---|---|---|
| committer | Jonathan Gordon <rockbox@jdgordon.info> | 2007-04-29 15:31:43 +0000 |
| commit | 39a6b5d643a71dd9681dd1ef2fcf97caa907cd04 (patch) | |
| tree | 2586fa17a6e91ad14368c58456b7321ba527edfd /apps/debug_menu.c | |
| parent | 4eaddc3f85357020addcfa2ef27ef488b9542154 (diff) | |
| download | rockbox-39a6b5d643a71dd9681dd1ef2fcf97caa907cd04.zip rockbox-39a6b5d643a71dd9681dd1ef2fcf97caa907cd04.tar.gz rockbox-39a6b5d643a71dd9681dd1ef2fcf97caa907cd04.tar.bz2 rockbox-39a6b5d643a71dd9681dd1ef2fcf97caa907cd04.tar.xz | |
Stop using the old menu API in the debug menu (using the new api causes massive bin increase, so fake the old api with existing code instead) (onplay.c and plugins are the only parts using th eold api now)
Fix a bug where the menu title was sometimes shown in the system font
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13286 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/debug_menu.c')
| -rw-r--r-- | apps/debug_menu.c | 42 |
1 files changed, 28 insertions, 14 deletions
diff --git a/apps/debug_menu.c b/apps/debug_menu.c index 0ffc850..d0c1feb 100644 --- a/apps/debug_menu.c +++ b/apps/debug_menu.c @@ -88,7 +88,6 @@ #endif #include "hwcompat.h" -#ifndef SIMULATOR static bool dbg_list(char *title, int count, int selection_size, int (*action_callback)(int btn, struct gui_synclist *lists), char* (*dbg_getname)(int item, void * data, char *buffer)) @@ -118,7 +117,6 @@ static bool dbg_list(char *title, int count, int selection_size, action_signalscreenchange(); return false; } -#endif /* SIMULATOR */ /*---------------------------------------------------*/ /* SPECIAL DEBUG STUFF */ /*---------------------------------------------------*/ @@ -2293,12 +2291,15 @@ static bool cpu_boost_log(void) return false; } #endif -bool debug_menu(void) -{ - int m; - bool result; - static const struct menu_item items[] = { + + +/****** The menu *********/ +struct the_menu_item { + unsigned char *desc; /* string or ID */ + bool (*function) (void); /* return true if USB was connected */ +}; +static const struct the_menu_item menuitems[] = { #if defined(TOSHIBA_GIGABEAT_F) && !defined(SIMULATOR) { "LCD Power Off", dbg_lcd_power_off }, { "Button Light modes", dbg_buttonlights }, @@ -2372,11 +2373,24 @@ bool debug_menu(void) {"cpu_boost log",cpu_boost_log}, #endif }; - - m=menu_init( items, sizeof items / sizeof(struct menu_item), NULL, - "Debug Menu", NULL, NULL); - result = menu_run(m); - menu_exit(m); - - return result; +int menu_action_callback(int btn, struct gui_synclist *lists) +{ + if (btn == ACTION_STD_OK) + { + menuitems[gui_synclist_get_sel_pos(lists)].function(); + gui_synclist_draw(lists); + } + return btn; +} +char* dbg_menu_getname(int item, void * data, char *buffer) +{ + (void)data; (void)buffer; + return menuitems[item].desc; +} +bool debug_menu(void) +{ + dbg_list("Debug Menu",ARRAYLEN(menuitems) , 1, + menu_action_callback, + dbg_menu_getname); + return false; } |