From b285076925fed906d95573b64115cb3f6bdafe65 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 23 Aug 2002 12:32:52 +0000 Subject: Remade the menu system slightly. All functions invoked from menus now use the Menu typedef as return type, and *ALL* menus that intercept USB connect can then return MENU_REFRESH_DIR so that the parent (any parent really) that do file or dir-accesses knows that and can do the refresh. If no refresh is needed by the parent, MENU_OK is returned. Somewhat biggish commit this close to 1.3, but we need to sort out this refresh-after-usb-connected business. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1948 a1c6a512-1295-4272-9138-f99709370657 --- apps/tree.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'apps/tree.c') diff --git a/apps/tree.c b/apps/tree.c index 8718252ac5..0c4e26ab8e 100644 --- a/apps/tree.c +++ b/apps/tree.c @@ -640,13 +640,15 @@ bool dirbrowse(char *root) bool lastfilter = global_settings.mp3filter; bool lastsortcase = global_settings.sort_case; bool show_hidden_files = global_settings.show_hidden_files; + Menu result; lcd_stop_scroll(); - main_menu(); + result = main_menu(); /* do we need to rescan dir? */ - if ( lastfilter != global_settings.mp3filter || - lastsortcase != global_settings.sort_case || - show_hidden_files != global_settings.show_hidden_files) + if (result == MENU_REFRESH_DIR || + lastfilter != global_settings.mp3filter || + lastsortcase != global_settings.sort_case || + show_hidden_files != global_settings.show_hidden_files) lastdir[0] = 0; restore = true; break; -- cgit v1.2.3