mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-13 18:17:39 -04:00
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
This commit is contained in:
parent
b3356e3aff
commit
a06d9c85f7
17 changed files with 619 additions and 336 deletions
|
@ -191,10 +191,6 @@ static int remote_backlight_on_button_hold = 0;
|
|||
|
||||
#ifdef HAVE_LCD_SLEEP
|
||||
#ifdef HAVE_LCD_SLEEP_SETTING
|
||||
const signed char lcd_sleep_timeout_value[10] =
|
||||
{
|
||||
-1, 0, 5, 10, 15, 20, 30, 45, 60, 90
|
||||
};
|
||||
static int lcd_sleep_timeout = 10*HZ;
|
||||
#else
|
||||
/* Target defines needed value */
|
||||
|
@ -885,23 +881,21 @@ void backlight_set_on_button_hold(int index)
|
|||
#endif /* HAS_BUTTON_HOLD */
|
||||
|
||||
#ifdef HAVE_LCD_SLEEP_SETTING
|
||||
void lcd_set_sleep_after_backlight_off(int index)
|
||||
void lcd_set_sleep_after_backlight_off(int timeout_seconds)
|
||||
{
|
||||
if ((unsigned)index >= sizeof(lcd_sleep_timeout_value))
|
||||
/* if given a weird value, use default */
|
||||
index = 3;
|
||||
|
||||
lcd_sleep_timeout = HZ * lcd_sleep_timeout_value[index];
|
||||
lcd_sleep_timeout = HZ * timeout_seconds;
|
||||
|
||||
if (is_backlight_on(true))
|
||||
/* Timer will be set when bl turns off or bl set to on. */
|
||||
/* Timer will be set when bl turns off or bl set to on. */
|
||||
return;
|
||||
|
||||
/* Backlight is Off */
|
||||
if (lcd_sleep_timeout < 0)
|
||||
lcd_sleep_timer = 0; /* Never */
|
||||
else if (lcd_sleep_timeout == 0)
|
||||
lcd_sleep_timer = 1; /* Always - sleep next tick */
|
||||
else
|
||||
lcd_sleep_timer = lcd_sleep_timeout; /* Never, other */
|
||||
lcd_sleep_timer = lcd_sleep_timeout; /* other */
|
||||
}
|
||||
#endif /* HAVE_LCD_SLEEP_SETTING */
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue