From 8719f0913a0f2d8a90e9ecbc7c0e5336369af6be Mon Sep 17 00:00:00 2001 From: Kevin Ferrare Date: Fri, 18 Nov 2005 02:07:02 +0000 Subject: generic multi-screen support for yes/no screens (like the one when reseting settings or when firmware has changed) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7951 a1c6a512-1295-4272-9138-f99709370657 --- apps/tree.c | 41 ++++++----------------------------------- 1 file changed, 6 insertions(+), 35 deletions(-) (limited to 'apps/tree.c') diff --git a/apps/tree.c b/apps/tree.c index 39980b1b81..284fdcbdc7 100644 --- a/apps/tree.c +++ b/apps/tree.c @@ -61,6 +61,7 @@ #include "recorder/recording.h" #include "rtc.h" #include "dircache.h" +#include "yesno.h" /* gui api */ #include "list.h" @@ -561,47 +562,17 @@ static bool dirbrowse(void) while(1) { struct entry *dircache = tc.dircache; bool restore = false; - - button = button_get_w_tmo(HZ/5); #ifdef BOOTFILE if (boot_changed) { - bool stop = false; - unsigned int button; - int i; - FOR_NB_SCREENS(i) - { - gui_textarea_clear(&screens[i]); - screens[i].puts(0,0,str(LANG_BOOT_CHANGED)); - screens[i].puts(0,1,str(LANG_REBOOT_NOW)); -#ifdef HAVE_LCD_BITMAP - screens[i].puts(0,3,str(LANG_CONFIRM_WITH_PLAY_RECORDER)); - screens[i].puts(0,4,str(LANG_CANCEL_WITH_ANY_RECORDER)); - gui_textarea_update(&screens[i]); -#endif - } - while (!stop) { - button = button_get(true); - switch (button) { - case TREE_RUN: -#ifdef TREE_RC_RUN - case TREE_RC_RUN: -#endif - rolo_load("/" BOOTFILE); - stop = true; - break; - - default: - if(default_event_handler(button) || - (button & BUTTON_REL)) - stop = true; - break; - } - } - + char *lines[]={str(LANG_BOOT_CHANGED), str(LANG_REBOOT_NOW)}; + struct text_message message={lines, 2}; + if(gui_syncyesno_run(&message, NULL, NULL)==YESNO_YES) + rolo_load("/" BOOTFILE); restore = true; boot_changed = false; } #endif + button = button_get_w_tmo(HZ/5); need_update = gui_synclist_do_button(&tree_lists, button); switch ( button ) { -- cgit v1.2.3