summaryrefslogtreecommitdiff
path: root/apps/debug_menu.c
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2007-04-29 15:31:43 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2007-04-29 15:31:43 +0000
commit39a6b5d643a71dd9681dd1ef2fcf97caa907cd04 (patch)
tree2586fa17a6e91ad14368c58456b7321ba527edfd /apps/debug_menu.c
parent4eaddc3f85357020addcfa2ef27ef488b9542154 (diff)
downloadrockbox-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.c42
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;
}