summaryrefslogtreecommitdiff
path: root/apps/tree.c
diff options
context:
space:
mode:
authorKevin Ferrare <kevin@rockbox.org>2005-11-18 02:07:02 +0000
committerKevin Ferrare <kevin@rockbox.org>2005-11-18 02:07:02 +0000
commit8719f0913a0f2d8a90e9ecbc7c0e5336369af6be (patch)
treeb336928b98e48a15d0d1c176105fa21ac557b7c9 /apps/tree.c
parentec0a8a749bbc3aa25bf4c136352725bd9d2532b5 (diff)
downloadrockbox-8719f0913a0f2d8a90e9ecbc7c0e5336369af6be.zip
rockbox-8719f0913a0f2d8a90e9ecbc7c0e5336369af6be.tar.gz
rockbox-8719f0913a0f2d8a90e9ecbc7c0e5336369af6be.tar.bz2
rockbox-8719f0913a0f2d8a90e9ecbc7c0e5336369af6be.tar.xz
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
Diffstat (limited to 'apps/tree.c')
-rw-r--r--apps/tree.c41
1 files changed, 6 insertions, 35 deletions
diff --git a/apps/tree.c b/apps/tree.c
index 39980b1..284fdcb 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 ) {