summaryrefslogtreecommitdiff
path: root/apps/settings_menu.c
diff options
context:
space:
mode:
authorDan Everton <dan@iocaine.org>2006-03-24 20:41:56 +0000
committerDan Everton <dan@iocaine.org>2006-03-24 20:41:56 +0000
commitd946771ebd324561eca59116c723dff18491906c (patch)
tree222bbd46b03b7cf39b83f22f0750f5ef54323600 /apps/settings_menu.c
parentbddf3793ad52e211e9616bf46ee1c434ed9ff0db (diff)
downloadrockbox-d946771ebd324561eca59116c723dff18491906c.zip
rockbox-d946771ebd324561eca59116c723dff18491906c.tar.gz
rockbox-d946771ebd324561eca59116c723dff18491906c.tar.bz2
rockbox-d946771ebd324561eca59116c723dff18491906c.tar.xz
Port sleep timer setting screen to new setting screens. Make sleep timer usable from the remote.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9240 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/settings_menu.c')
-rw-r--r--apps/settings_menu.c32
1 files changed, 30 insertions, 2 deletions
diff --git a/apps/settings_menu.c b/apps/settings_menu.c
index 70703a2..5141416 100644
--- a/apps/settings_menu.c
+++ b/apps/settings_menu.c
@@ -36,7 +36,6 @@
#include "backlight.h"
#include "playlist.h" /* for playlist_shuffle */
#include "fat.h" /* For dotfile settings */
-#include "sleeptimer.h"
#include "powermgmt.h"
#include "rtc.h"
#include "ata.h"
@@ -799,6 +798,35 @@ static bool poweroff_idle_timer(void)
INT, names, 15, set_poweroff_timeout);
}
+static void sleep_timer_formatter(char* buffer, int buffer_size, int value,
+ const char* unit)
+{
+ int minutes, hours;
+
+ (void) unit;
+
+ if (value) {
+ hours = value / 60;
+ minutes = value - (hours * 60);
+ snprintf(buffer, buffer_size, "%d:%02d", hours, minutes);
+ } else {
+ snprintf(buffer, buffer_size, "%s", str(LANG_OFF));
+ }
+}
+
+static void sleep_timer_set(int minutes)
+{
+ set_sleep_timer(minutes * 60);
+}
+
+static bool sleep_timer(void)
+{
+ int minutes = get_sleep_timer() / 60;
+
+ return set_int(str(LANG_SLEEP_TIMER), "", UNIT_MIN, &minutes,
+ &sleep_timer_set, 15, 0, 300, sleep_timer_formatter);
+}
+
static bool scroll_speed(void)
{
return set_int(str(LANG_SCROLL), "", UNIT_INT,
@@ -1864,7 +1892,7 @@ static bool system_settings_menu(void)
{ ID2P(LANG_TIME_MENU), time_settings_menu },
#endif
{ ID2P(LANG_POWEROFF_IDLE), poweroff_idle_timer },
- { ID2P(LANG_SLEEP_TIMER), sleeptimer_screen },
+ { ID2P(LANG_SLEEP_TIMER), sleep_timer },
#ifdef HAVE_ALARM_MOD
{ ID2P(LANG_ALARM_MOD_ALARM_MENU), alarm_screen },
#endif