summaryrefslogtreecommitdiff
path: root/apps/settings_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/settings_menu.c')
-rw-r--r--apps/settings_menu.c46
1 files changed, 45 insertions, 1 deletions
diff --git a/apps/settings_menu.c b/apps/settings_menu.c
index 20235f5a72..93c809d007 100644
--- a/apps/settings_menu.c
+++ b/apps/settings_menu.c
@@ -196,6 +196,21 @@ static bool backlight_timer(void)
196 backlight_set_timeout ); 196 backlight_set_timeout );
197} 197}
198 198
199#ifdef HAS_BUTTON_HOLD
200static bool backlight_on_button_hold(void)
201{
202 static const struct opt_items names[3] = {
203 { STR(LANG_BACKLIGHT_ON_BUTTON_HOLD_NORMAL) },
204 { STR(LANG_OFF) },
205 { STR(LANG_ON) },
206 };
207 return set_option(str(LANG_BACKLIGHT_ON_BUTTON_HOLD),
208 &global_settings.backlight_on_button_hold,
209 INT, names, 3,
210 backlight_set_on_button_hold);
211}
212#endif /* HAS_BUTTON_HOLD */
213
199#if defined(HAVE_BACKLIGHT_PWM_FADING) && !defined(SIMULATOR) 214#if defined(HAVE_BACKLIGHT_PWM_FADING) && !defined(SIMULATOR)
200static bool backlight_fade_in(void) 215static bool backlight_fade_in(void)
201{ 216{
@@ -227,6 +242,29 @@ static bool backlight_fade_out(void)
227 INT, names, 8, backlight_set_fade_out ); 242 INT, names, 8, backlight_set_fade_out );
228} 243}
229#endif 244#endif
245
246#ifdef HAVE_LCD_SLEEP
247static bool lcd_sleep_after_backlight_off(void)
248{
249 static const struct opt_items names[] = {
250 { STR(LANG_ALWAYS) },
251 { STR(LANG_NEVER) },
252 { (unsigned char *)"5s", TALK_ID(5, UNIT_SEC) },
253 { (unsigned char *)"10s", TALK_ID(10, UNIT_SEC) },
254 { (unsigned char *)"15s", TALK_ID(15, UNIT_SEC) },
255 { (unsigned char *)"20s", TALK_ID(20, UNIT_SEC) },
256 { (unsigned char *)"30s", TALK_ID(30, UNIT_SEC) },
257 { (unsigned char *)"45s", TALK_ID(45, UNIT_SEC) },
258 { (unsigned char *)"60s", TALK_ID(60, UNIT_SEC) },
259 { (unsigned char *)"90s", TALK_ID(90, UNIT_SEC) },
260 };
261
262 return set_option(str(LANG_LCD_SLEEP_AFTER_BACKLIGHT_OFF),
263 &global_settings.lcd_sleep_after_backlight_off,
264 INT, names, 10,
265 lcd_set_sleep_after_backlight_off );
266}
267#endif /* HAVE_LCD_SLEEP */
230#endif /* CONFIG_BACKLIGHT */ 268#endif /* CONFIG_BACKLIGHT */
231 269
232#ifdef HAVE_BACKLIGHT_BRIGHTNESS 270#ifdef HAVE_BACKLIGHT_BRIGHTNESS
@@ -257,7 +295,7 @@ static bool remote_backlight_timer_plugged(void)
257 INT, backlight_timeouts, 19, 295 INT, backlight_timeouts, 19,
258 remote_backlight_set_timeout_plugged ); 296 remote_backlight_set_timeout_plugged );
259} 297}
260#endif 298#endif /* HAVE_REMOTE_LCD */
261 299
262static bool remote_caption_backlight(void) 300static bool remote_caption_backlight(void)
263{ 301{
@@ -1771,12 +1809,18 @@ static bool lcd_settings_menu(void)
1771#ifdef CONFIG_CHARGING 1809#ifdef CONFIG_CHARGING
1772 { ID2P(LANG_BACKLIGHT_ON_WHEN_CHARGING), backlight_timer_plugged }, 1810 { ID2P(LANG_BACKLIGHT_ON_WHEN_CHARGING), backlight_timer_plugged },
1773#endif 1811#endif
1812#ifdef HAS_BUTTON_HOLD
1813 { ID2P(LANG_BACKLIGHT_ON_BUTTON_HOLD), backlight_on_button_hold },
1814#endif
1774 { ID2P(LANG_CAPTION_BACKLIGHT), caption_backlight }, 1815 { ID2P(LANG_CAPTION_BACKLIGHT), caption_backlight },
1775#if defined(HAVE_BACKLIGHT_PWM_FADING) && !defined(SIMULATOR) 1816#if defined(HAVE_BACKLIGHT_PWM_FADING) && !defined(SIMULATOR)
1776 { ID2P(LANG_BACKLIGHT_FADE_IN), backlight_fade_in }, 1817 { ID2P(LANG_BACKLIGHT_FADE_IN), backlight_fade_in },
1777 { ID2P(LANG_BACKLIGHT_FADE_OUT), backlight_fade_out }, 1818 { ID2P(LANG_BACKLIGHT_FADE_OUT), backlight_fade_out },
1778#endif 1819#endif
1779 { ID2P(LANG_BACKLIGHT_FILTER_FIRST_KEYPRESS), set_bl_filter_first_keypress }, 1820 { ID2P(LANG_BACKLIGHT_FILTER_FIRST_KEYPRESS), set_bl_filter_first_keypress },
1821#ifdef HAVE_LCD_SLEEP
1822 { ID2P(LANG_LCD_SLEEP_AFTER_BACKLIGHT_OFF), lcd_sleep_after_backlight_off },
1823#endif
1780#ifdef HAVE_BACKLIGHT_BRIGHTNESS 1824#ifdef HAVE_BACKLIGHT_BRIGHTNESS
1781 { ID2P(LANG_BRIGHTNESS), brightness }, 1825 { ID2P(LANG_BRIGHTNESS), brightness },
1782#endif 1826#endif