summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/debug_menu.c42
-rw-r--r--apps/gui/list.c4
2 files changed, 31 insertions, 15 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;
}
diff --git a/apps/gui/list.c b/apps/gui/list.c
index 1a5ae97..7e9f7bb 100644
--- a/apps/gui/list.c
+++ b/apps/gui/list.c
@@ -242,6 +242,9 @@ static void gui_list_draw_smart(struct gui_list *gui_list)
int start, end;
bool partial_draw = false;
+#ifdef HAVE_LCD_BITMAP
+ display->setfont(FONT_UI);
+#endif
/* Speed up UI by drawing the changed contents only. */
if (gui_list == last_list_displayed[gui_list->display->screen_type]
&& gui_list->last_displayed_start_item == gui_list->start_item
@@ -313,7 +316,6 @@ static void gui_list_draw_smart(struct gui_list *gui_list)
/* Adjust the position of icon, cursor, text for the list */
#ifdef HAVE_LCD_BITMAP
- display->setfont(FONT_UI);
gui_textarea_update_nblines(display);
bool draw_scrollbar;