diff options
| author | Daniel Stenberg <daniel@haxx.se> | 2002-08-23 12:32:52 +0000 |
|---|---|---|
| committer | Daniel Stenberg <daniel@haxx.se> | 2002-08-23 12:32:52 +0000 |
| commit | b285076925fed906d95573b64115cb3f6bdafe65 (patch) | |
| tree | 6d959f585fc210acf39e667991038d21aef48d13 /apps/settings_menu.c | |
| parent | ad4a92eb87eb98ff316f54f06650f1c5e1dcd7ca (diff) | |
| download | rockbox-b285076925fed906d95573b64115cb3f6bdafe65.zip rockbox-b285076925fed906d95573b64115cb3f6bdafe65.tar.gz rockbox-b285076925fed906d95573b64115cb3f6bdafe65.tar.bz2 rockbox-b285076925fed906d95573b64115cb3f6bdafe65.tar.xz | |
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
Diffstat (limited to 'apps/settings_menu.c')
| -rw-r--r-- | apps/settings_menu.c | 45 |
1 files changed, 30 insertions, 15 deletions
diff --git a/apps/settings_menu.c b/apps/settings_menu.c index 0d88edf..2bb4ef4 100644 --- a/apps/settings_menu.c +++ b/apps/settings_menu.c @@ -36,39 +36,45 @@ #include "powermgmt.h" #include "rtc.h" -static void show_hidden_files(void) +static Menu show_hidden_files(void) { set_bool( "[Show hidden files]", &global_settings.show_hidden_files ); + return MENU_OK; } -static void contrast(void) +static Menu contrast(void) { set_int( "[Contrast]", "", &global_settings.contrast, lcd_set_contrast, 1, 0, MAX_CONTRAST_SETTING ); + return MENU_OK; } -static void shuffle(void) +static Menu shuffle(void) { set_bool( "[Shuffle]", &global_settings.playlist_shuffle ); + return MENU_OK; } -static void mp3_filter(void) +static Menu mp3_filter(void) { set_bool( "[MP3/M3U filter]", &global_settings.mp3filter ); + return MENU_OK; } -static void sort_case(void) +static Menu sort_case(void) { set_bool( "[Sort case sensitive]", &global_settings.sort_case ); + return MENU_OK; } -static void resume(void) +static Menu resume(void) { char* names[] = { "off", "ask", "on " }; set_option( "[Resume]", &global_settings.resume, names, 3 ); + return MENU_OK; } -static void backlight_timer(void) +static Menu backlight_timer(void) { char* names[] = { "off", "on ", "1s ", "2s ", "3s ", "4s ", "5s ", @@ -77,15 +83,17 @@ static void backlight_timer(void) "60s", "90s"}; set_option("[Backlight]", &global_settings.backlight, names, 19 ); backlight_time(global_settings.backlight); + return MENU_OK; } -static void scroll_speed(void) +static Menu scroll_speed(void) { set_int("Scroll speed indicator...", "", &global_settings.scroll_speed, &lcd_scroll_speed, 1, 1, 20 ); + return MENU_OK; } -static void wps_set(void) +static Menu wps_set(void) { #ifdef HAVE_LCD_BITMAP char* names[] = { "ID3 Tags", "File ", "Parse " }; @@ -102,18 +110,20 @@ static void wps_set(void) #endif #endif + return MENU_OK; } #ifdef HAVE_CHARGE_CTRL -static void deep_discharge(void) +static Menu deep_discharge(void) { set_bool( "[Deep discharge]", &global_settings.discharge ); charge_restart_level = global_settings.discharge ? CHARGE_RESTART_LO : CHARGE_RESTART_HI; + return MENU_OK; } #endif #ifdef HAVE_RTC -static void timedate_set(void) +static Menu timedate_set(void) { int timedate[7]; /* hour,minute,second,year,month,day,dayofweek */ @@ -150,24 +160,28 @@ static void timedate_set(void) rtc_write(0x04, timedate[6] | (rtc_read(0x04) & 0xf8)); /* dayofweek */ rtc_write(0x00, 0x00); /* 0.1 + 0.01 seconds */ } + return MENU_OK; } #endif -static void ff_rewind(void) +static Menu ff_rewind(void) { set_int("[FF/Rewind Step Size]", "s", &global_settings.ff_rewind, NULL, 1, 1, 999 ); + return MENU_OK; } -void settings_menu(void) +Menu settings_menu(void) { int m; + Menu result; + struct menu_items items[] = { { "Shuffle", shuffle }, { "MP3/M3U filter", mp3_filter }, { "Sort mode", sort_case }, { "Backlight Timer", backlight_timer }, - { "Contrast", contrast }, + { "Contrast", contrast }, { "Scroll speed", scroll_speed }, { "While Playing", wps_set }, #ifdef HAVE_CHARGE_CTRL @@ -183,7 +197,7 @@ void settings_menu(void) bool old_shuffle = global_settings.playlist_shuffle; m=menu_init( items, sizeof items / sizeof(struct menu_items) ); - menu_run(m); + result = menu_run(m); menu_exit(m); if (old_shuffle != global_settings.playlist_shuffle) @@ -197,4 +211,5 @@ void settings_menu(void) sort_playlist(); } } + return result; } |