summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2007-03-21 07:05:05 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2007-03-21 07:05:05 +0000
commita5c5bd38311e4e99ae3eeb0ab9f5108355573554 (patch)
tree0ebaadd600957bbafd17bbe775137100dfb4302c /apps
parent59649b888aea82dc02525c7e133a86c83f2240d1 (diff)
downloadrockbox-a5c5bd38311e4e99ae3eeb0ab9f5108355573554.zip
rockbox-a5c5bd38311e4e99ae3eeb0ab9f5108355573554.tar.gz
rockbox-a5c5bd38311e4e99ae3eeb0ab9f5108355573554.tar.bz2
rockbox-a5c5bd38311e4e99ae3eeb0ab9f5108355573554.tar.xz
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
Diffstat (limited to 'apps')
-rw-r--r--apps/lang/english.lang14
-rw-r--r--apps/menus/display_menu.c3
-rw-r--r--apps/plugin.c11
-rw-r--r--apps/settings.h4
-rw-r--r--apps/settings_list.c5
5 files changed, 32 insertions, 5 deletions
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 @@
*: ""
</voice>
</phrase>
+<phrase>
+ id: LANG_BACKLIGHT_IN_PLUGINS
+ desc: in lcd settings
+ user:
+ <source>
+ *: "Backlight (In Plugins)"
+ </source>
+ <dest>
+ *: "Backlight (In Plugins)"
+ </dest>
+ <voice>
+ *: "Backlight in plugins"
+ </voice>
+</phrase> \ 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,