From a5c5bd38311e4e99ae3eeb0ab9f5108355573554 Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Wed, 21 Mar 2007 07:05:05 +0000 Subject: Add a setting to force the backlight to stay on (or act normally) when in plugins. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12873 a1c6a512-1295-4272-9138-f99709370657 --- apps/lang/english.lang | 14 ++++++++++++++ apps/menus/display_menu.c | 3 ++- apps/plugin.c | 11 +++++++++-- apps/settings.h | 4 +++- apps/settings_list.c | 5 ++++- 5 files changed, 32 insertions(+), 5 deletions(-) (limited to 'apps') diff --git a/apps/lang/english.lang b/apps/lang/english.lang index 5cc3748..1046d34 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang @@ -10725,3 +10725,17 @@ *: "" + + id: LANG_BACKLIGHT_IN_PLUGINS + desc: in lcd settings + user: + + *: "Backlight (In Plugins)" + + + *: "Backlight (In Plugins)" + + + *: "Backlight in plugins" + + \ No newline at end of file diff --git a/apps/menus/display_menu.c b/apps/menus/display_menu.c index 4cdb5b7..bab3f6d 100644 --- a/apps/menus/display_menu.c +++ b/apps/menus/display_menu.c @@ -79,6 +79,7 @@ int flipdisplay_callback(int action,const struct menu_item_ex *this_item) /* LCD MENU */ #if CONFIG_BACKLIGHT MENUITEM_SETTING(backlight_timeout, &global_settings.backlight_timeout, NULL); +MENUITEM_SETTING(backlight_in_plugins, &global_settings.backlight_in_plugins, NULL); #if CONFIG_CHARGING MENUITEM_SETTING(backlight_timeout_plugged, &global_settings.backlight_timeout_plugged, NULL); @@ -180,7 +181,7 @@ MAKE_MENU(lcd_settings,ID2P(LANG_LCD_MENU), # ifdef HAS_BUTTON_HOLD ,&backlight_on_button_hold # endif - ,&caption_backlight + ,&caption_backlight, &backlight_in_plugins # if defined(HAVE_BACKLIGHT_PWM_FADING) && !defined(SIMULATOR) ,&backlight_fade_in, &backlight_fade_out # endif diff --git a/apps/plugin.c b/apps/plugin.c index 1a5ee4e..851ce5d 100644 --- a/apps/plugin.c +++ b/apps/plugin.c @@ -609,10 +609,17 @@ int plugin_load(const char* plugin, void* parameter) #endif invalidate_icache(); - +#if CONFIG_BACKLIGHT + if (global_settings.backlight_in_plugins == 1) + backlight_set_timeout(1); +#endif rc = hdr->entry_point((struct plugin_api*) &rockbox_api, parameter); /* explicitly casting the pointer here to avoid touching every plugin. */ - +#if CONFIG_BACKLIGHT + if (global_settings.backlight_in_plugins == 1) + backlight_set_timeout(global_settings.backlight_timeout); +#endif + button_clear_queue(); #ifdef HAVE_LCD_BITMAP diff --git a/apps/settings.h b/apps/settings.h index f9e0815..c824360 100644 --- a/apps/settings.h +++ b/apps/settings.h @@ -704,7 +704,9 @@ struct user_settings (defined(HAVE_RECORDING) || CONFIG_TUNER) int alarm_wake_up_screen; #endif - +#if CONFIG_BACKLIGHT + int backlight_in_plugins; +#endif }; /** global variables **/ diff --git a/apps/settings_list.c b/apps/settings_list.c index 4dce7ae..a359990 100644 --- a/apps/settings_list.c +++ b/apps/settings_list.c @@ -971,7 +971,10 @@ const struct settings_list settings[] = { "normal,off,on", backlight_set_on_button_hold, 3, ID2P(LANG_BACKLIGHT_ON_BUTTON_HOLD_NORMAL), ID2P(LANG_OFF), ID2P(LANG_ON)), #endif - + CHOICE_SETTING(0, backlight_in_plugins, + LANG_BACKLIGHT_IN_PLUGINS, 0, "backlight in settings", + "normal,on", NULL, 2, + ID2P(LANG_BACKLIGHT_ON_BUTTON_HOLD_NORMAL), ID2P(LANG_ON)), #ifdef HAVE_LCD_SLEEP STRINGCHOICE_SETTING(0, lcd_sleep_after_backlight_off, LANG_LCD_SLEEP_AFTER_BACKLIGHT_OFF, 3, -- cgit v1.1