diff options
author | William Wilgus <me.theuser@yahoo.com> | 2018-12-17 22:27:55 -0600 |
---|---|---|
committer | William Wilgus <me.theuser@yahoo.com> | 2018-12-22 12:27:21 -0600 |
commit | a06d9c85f7475d650cc451fb0f537623c0206f5a (patch) | |
tree | 952a0e7265e836328873a5e2f6eb0ca8ec3cc06a /firmware/backlight.c | |
parent | b3356e3aff34a4ab94778e7f6a8db43f9135296c (diff) | |
download | rockbox-a06d9c85f7475d650cc451fb0f537623c0206f5a.tar.gz rockbox-a06d9c85f7475d650cc451fb0f537623c0206f5a.zip |
Auto-Ranging Time Formatting For Menus (hh:mm:ss:mss)
Unifies time formatting in settings_list.c allows time format to
display as HH:MM:SS.MSS or any consecutive combination thereof
(hh:mm:ss, mm:ss, mm:ss.mss, ss.mss, hh, mm, ss ,mss)
works in INT and TABLE settings with the addition of flag 'F_TIME_SETTING'
Time is auto-ranged dependent on value
Adds talk_time_intervals to allow time values to be spoken similar to
display format: x Hours, x Minutes, x Seconds, x Milliseconds
Table lookups merged or removed from recording, clip meter and lcd timeout
-String_Choice replaced with TABLE_SETTING or INT_SETTING for these
functions as well, cleaned-up cfg_vals that get saved to cfgfile
RTL Languages ARE supported
Negative values ARE supported
Backlight on/off are now Always and Never to share formatter with LCD
Timeout
Added flag to allow ranged units to be locked to a minimum index
Added flag to allow leading zero to be supressed from the largest unit
merged talk_time_unit() and talk_time_intervals()
optimized time_split()
optimized format_time_auto()
Backlight time-out list same as original
Change-Id: I59027c62d3f2956bd16fdcc1a48b2ac32c084abd
Diffstat (limited to 'firmware/backlight.c')
-rw-r--r-- | firmware/backlight.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/firmware/backlight.c b/firmware/backlight.c index 25c295197f..3acc89c27c 100644 --- a/firmware/backlight.c +++ b/firmware/backlight.c | |||
@@ -191,10 +191,6 @@ static int remote_backlight_on_button_hold = 0; | |||
191 | 191 | ||
192 | #ifdef HAVE_LCD_SLEEP | 192 | #ifdef HAVE_LCD_SLEEP |
193 | #ifdef HAVE_LCD_SLEEP_SETTING | 193 | #ifdef HAVE_LCD_SLEEP_SETTING |
194 | const signed char lcd_sleep_timeout_value[10] = | ||
195 | { | ||
196 | -1, 0, 5, 10, 15, 20, 30, 45, 60, 90 | ||
197 | }; | ||
198 | static int lcd_sleep_timeout = 10*HZ; | 194 | static int lcd_sleep_timeout = 10*HZ; |
199 | #else | 195 | #else |
200 | /* Target defines needed value */ | 196 | /* Target defines needed value */ |
@@ -885,23 +881,21 @@ void backlight_set_on_button_hold(int index) | |||
885 | #endif /* HAS_BUTTON_HOLD */ | 881 | #endif /* HAS_BUTTON_HOLD */ |
886 | 882 | ||
887 | #ifdef HAVE_LCD_SLEEP_SETTING | 883 | #ifdef HAVE_LCD_SLEEP_SETTING |
888 | void lcd_set_sleep_after_backlight_off(int index) | 884 | void lcd_set_sleep_after_backlight_off(int timeout_seconds) |
889 | { | 885 | { |
890 | if ((unsigned)index >= sizeof(lcd_sleep_timeout_value)) | 886 | lcd_sleep_timeout = HZ * timeout_seconds; |
891 | /* if given a weird value, use default */ | ||
892 | index = 3; | ||
893 | |||
894 | lcd_sleep_timeout = HZ * lcd_sleep_timeout_value[index]; | ||
895 | 887 | ||
896 | if (is_backlight_on(true)) | 888 | if (is_backlight_on(true)) |
897 | /* Timer will be set when bl turns off or bl set to on. */ | 889 | /* Timer will be set when bl turns off or bl set to on. */ |
898 | return; | 890 | return; |
899 | 891 | ||
900 | /* Backlight is Off */ | 892 | /* Backlight is Off */ |
901 | if (lcd_sleep_timeout < 0) | 893 | if (lcd_sleep_timeout < 0) |
894 | lcd_sleep_timer = 0; /* Never */ | ||
895 | else if (lcd_sleep_timeout == 0) | ||
902 | lcd_sleep_timer = 1; /* Always - sleep next tick */ | 896 | lcd_sleep_timer = 1; /* Always - sleep next tick */ |
903 | else | 897 | else |
904 | lcd_sleep_timer = lcd_sleep_timeout; /* Never, other */ | 898 | lcd_sleep_timer = lcd_sleep_timeout; /* other */ |
905 | } | 899 | } |
906 | #endif /* HAVE_LCD_SLEEP_SETTING */ | 900 | #endif /* HAVE_LCD_SLEEP_SETTING */ |
907 | 901 | ||