diff options
| author | Thomas Martitz <kugel@rockbox.org> | 2011-10-17 18:57:38 +0000 |
|---|---|---|
| committer | Thomas Martitz <kugel@rockbox.org> | 2011-10-17 18:57:38 +0000 |
| commit | e347146b6268ece5b90bb6cf6fcb5c4e8f9b6a1e (patch) | |
| tree | 4b59a351430c3a5d2c51fc36c76c0b3711bf0d2a /apps/menus/main_menu.c | |
| parent | e44af440c50e2d87fcb57a91a8036e108a3b7362 (diff) | |
| download | rockbox-e347146b6268ece5b90bb6cf6fcb5c4e8f9b6a1e.zip rockbox-e347146b6268ece5b90bb6cf6fcb5c4e8f9b6a1e.tar.gz rockbox-e347146b6268ece5b90bb6cf6fcb5c4e8f9b6a1e.tar.bz2 rockbox-e347146b6268ece5b90bb6cf6fcb5c4e8f9b6a1e.tar.xz | |
Sleep timer options: persistent duration and start on boot.
This makes the sleep timer persistent, so that the duration is remembered
across reboots. Additionally, it adds a setting to automatically apply
it at boot.
Flyspray: FS#10849
Author: Nick Peskett
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30777 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/menus/main_menu.c')
| -rw-r--r-- | apps/menus/main_menu.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/apps/menus/main_menu.c b/apps/menus/main_menu.c index 394ee7c..66d49a9 100644 --- a/apps/menus/main_menu.c +++ b/apps/menus/main_menu.c @@ -412,12 +412,14 @@ static const char* sleep_timer_formatter(char* buffer, size_t buffer_size, static void sleep_timer_set(int minutes) { + if (minutes) + global_settings.sleeptimer_duration = minutes; set_sleep_timer(minutes * 60); } static int sleep_timer(void) { - int minutes = (get_sleep_timer() + 59) / 60; /* round up */ + int minutes = get_sleep_timer() ? 0 : global_settings.sleeptimer_duration; return (int)set_int(str(LANG_SLEEP_TIMER), "", UNIT_MIN, &minutes, &sleep_timer_set, 5, 0, 300, sleep_timer_formatter); } @@ -428,10 +430,14 @@ int time_screen(void* ignored); MENUITEM_FUNCTION(timedate_item, MENU_FUNC_CHECK_RETVAL, ID2P(LANG_TIME_MENU), time_screen, NULL, NULL, Icon_Menu_setting ); #endif -/* This item is in the time/date screen if there is a RTC */ +/* Sleep timer items are in the time/date screen if there is a RTC */ MENUITEM_FUNCTION(sleep_timer_call, 0, ID2P(LANG_SLEEP_TIMER), sleep_timer, NULL, NULL, Icon_Menu_setting); /* make it look like a setting to the user */ +#if CONFIG_RTC == 0 +MENUITEM_SETTING(sleeptimer_on_startup, + &global_settings.sleeptimer_on_startup, NULL); +#endif MENUITEM_FUNCTION(show_credits_item, 0, ID2P(LANG_CREDITS), (menu_function)show_credits, NULL, NULL, Icon_NOICON); @@ -479,7 +485,7 @@ MAKE_MENU(main_menu_, ID2P(LANG_SETTINGS), mainmenu_callback, #if CONFIG_RTC &timedate_item, #else - &sleep_timer_call, + &sleep_timer_call, &sleeptimer_on_startup, #endif &manage_settings, ); |