diff options
Diffstat (limited to 'apps/settings_menu.c')
-rw-r--r-- | apps/settings_menu.c | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/apps/settings_menu.c b/apps/settings_menu.c index 70703a23ce..5141416ecb 100644 --- a/apps/settings_menu.c +++ b/apps/settings_menu.c | |||
@@ -36,7 +36,6 @@ | |||
36 | #include "backlight.h" | 36 | #include "backlight.h" |
37 | #include "playlist.h" /* for playlist_shuffle */ | 37 | #include "playlist.h" /* for playlist_shuffle */ |
38 | #include "fat.h" /* For dotfile settings */ | 38 | #include "fat.h" /* For dotfile settings */ |
39 | #include "sleeptimer.h" | ||
40 | #include "powermgmt.h" | 39 | #include "powermgmt.h" |
41 | #include "rtc.h" | 40 | #include "rtc.h" |
42 | #include "ata.h" | 41 | #include "ata.h" |
@@ -799,6 +798,35 @@ static bool poweroff_idle_timer(void) | |||
799 | INT, names, 15, set_poweroff_timeout); | 798 | INT, names, 15, set_poweroff_timeout); |
800 | } | 799 | } |
801 | 800 | ||
801 | static void sleep_timer_formatter(char* buffer, int buffer_size, int value, | ||
802 | const char* unit) | ||
803 | { | ||
804 | int minutes, hours; | ||
805 | |||
806 | (void) unit; | ||
807 | |||
808 | if (value) { | ||
809 | hours = value / 60; | ||
810 | minutes = value - (hours * 60); | ||
811 | snprintf(buffer, buffer_size, "%d:%02d", hours, minutes); | ||
812 | } else { | ||
813 | snprintf(buffer, buffer_size, "%s", str(LANG_OFF)); | ||
814 | } | ||
815 | } | ||
816 | |||
817 | static void sleep_timer_set(int minutes) | ||
818 | { | ||
819 | set_sleep_timer(minutes * 60); | ||
820 | } | ||
821 | |||
822 | static bool sleep_timer(void) | ||
823 | { | ||
824 | int minutes = get_sleep_timer() / 60; | ||
825 | |||
826 | return set_int(str(LANG_SLEEP_TIMER), "", UNIT_MIN, &minutes, | ||
827 | &sleep_timer_set, 15, 0, 300, sleep_timer_formatter); | ||
828 | } | ||
829 | |||
802 | static bool scroll_speed(void) | 830 | static bool scroll_speed(void) |
803 | { | 831 | { |
804 | return set_int(str(LANG_SCROLL), "", UNIT_INT, | 832 | return set_int(str(LANG_SCROLL), "", UNIT_INT, |
@@ -1864,7 +1892,7 @@ static bool system_settings_menu(void) | |||
1864 | { ID2P(LANG_TIME_MENU), time_settings_menu }, | 1892 | { ID2P(LANG_TIME_MENU), time_settings_menu }, |
1865 | #endif | 1893 | #endif |
1866 | { ID2P(LANG_POWEROFF_IDLE), poweroff_idle_timer }, | 1894 | { ID2P(LANG_POWEROFF_IDLE), poweroff_idle_timer }, |
1867 | { ID2P(LANG_SLEEP_TIMER), sleeptimer_screen }, | 1895 | { ID2P(LANG_SLEEP_TIMER), sleep_timer }, |
1868 | #ifdef HAVE_ALARM_MOD | 1896 | #ifdef HAVE_ALARM_MOD |
1869 | { ID2P(LANG_ALARM_MOD_ALARM_MENU), alarm_screen }, | 1897 | { ID2P(LANG_ALARM_MOD_ALARM_MENU), alarm_screen }, |
1870 | #endif | 1898 | #endif |