summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/lang/english.lang14
-rw-r--r--apps/menus/settings_menu.c2
-rw-r--r--apps/misc.c5
-rw-r--r--apps/settings.h3
-rw-r--r--apps/settings_list.c4
-rw-r--r--firmware/backlight.c9
-rw-r--r--manual/appendix/config_file_options.tex1
-rw-r--r--manual/configure_rockbox/startup_shutdown_options.tex5
8 files changed, 41 insertions, 2 deletions
diff --git a/apps/lang/english.lang b/apps/lang/english.lang
index 50cec84b7c..333527c71c 100644
--- a/apps/lang/english.lang
+++ b/apps/lang/english.lang
@@ -16136,3 +16136,17 @@
*: "List Wraparound"
</voice>
</phrase>
+<phrase>
+ id: LANG_SHOW_SHUTDOWN_MESSAGE
+ desc: in Settings
+ user: core
+ <source>
+ *: "Show Shutdown Message"
+ </source>
+ <dest>
+ *: "Show Shutdown Message"
+ </dest>
+ <voice>
+ *: "Show Shutdown Message"
+ </voice>
+</phrase> \ No newline at end of file
diff --git a/apps/menus/settings_menu.c b/apps/menus/settings_menu.c
index 1dce12907f..562a89e85a 100644
--- a/apps/menus/settings_menu.c
+++ b/apps/menus/settings_menu.c
@@ -563,9 +563,11 @@ MENUITEM_SETTING(sleeptimer_on_startup,
&global_settings.sleeptimer_on_startup, NULL);
MENUITEM_SETTING(keypress_restarts_sleeptimer,
&global_settings.keypress_restarts_sleeptimer, NULL);
+MENUITEM_SETTING(show_shutdown_message, &global_settings.show_shutdown_message, NULL);
MAKE_MENU(startup_shutdown_menu, ID2P(LANG_STARTUP_SHUTDOWN),
0, Icon_System_menu,
+ &show_shutdown_message,
&start_screen,
&poweroff,
&sleeptimer_toggle,
diff --git a/apps/misc.c b/apps/misc.c
index 7da86930ba..2668ba714d 100644
--- a/apps/misc.c
+++ b/apps/misc.c
@@ -323,7 +323,10 @@ static bool clean_shutdown(void (*callback)(void *), void *parameter)
#endif
level = battery_level();
if (level > 10 || level < 0)
- splash(0, str(LANG_SHUTTINGDOWN));
+ {
+ if (global_settings.show_shutdown_message)
+ splash(0, str(LANG_SHUTTINGDOWN));
+ }
else
{
msg_id = LANG_WARNING_BATTERY_LOW;
diff --git a/apps/settings.h b/apps/settings.h
index ce7421d95e..4374cc720b 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -761,6 +761,9 @@ struct user_settings
bool sleeptimer_on_startup;
bool keypress_restarts_sleeptimer;
+ bool show_shutdown_message; /* toggle whether display lights up and displays message
+ when shutting down */
+
#ifdef HAVE_MORSE_INPUT
bool morse_input; /* text input method setting */
#endif
diff --git a/apps/settings_list.c b/apps/settings_list.c
index 383ec9cd0e..d8702148ba 100644
--- a/apps/settings_list.c
+++ b/apps/settings_list.c
@@ -1956,6 +1956,10 @@ const struct settings_list settings[] = {
"sleeptimer on startup", NULL),
OFFON_SETTING(0, keypress_restarts_sleeptimer, LANG_KEYPRESS_RESTARTS_SLEEP_TIMER, false,
"keypress restarts sleeptimer", set_keypress_restarts_sleep_timer),
+
+ OFFON_SETTING(0, show_shutdown_message, LANG_SHOW_SHUTDOWN_MESSAGE, true,
+ "show shutdown message", NULL),
+
#ifdef HAVE_TOUCHPAD_SENSITIVITY_SETTING
/* If specific values are set for touchpad sensitivity setting we use those */
#if (defined(MAX_TOUCHPAD_SENSITIVITY_SETTING) \
diff --git a/firmware/backlight.c b/firmware/backlight.c
index e8a71af12c..1284db4659 100644
--- a/firmware/backlight.c
+++ b/firmware/backlight.c
@@ -21,6 +21,9 @@
*
****************************************************************************/
#include "config.h"
+#if !defined(BOOTLOADER)
+#include "settings.h"
+#endif
#include <stdlib.h>
#include "cpu.h"
#include "kernel.h"
@@ -667,7 +670,11 @@ void backlight_thread(void)
case SYS_POWEROFF: /* Lock backlight on poweroff so it doesn't */
locked = true; /* go off before power is actually cut. */
- /* fall through */
+#if !defined(BOOTLOADER)
+ if (!global_settings.show_shutdown_message)
+ break;
+#endif
+ /* else fall through */
#if CONFIG_CHARGING
case SYS_CHARGER_CONNECTED:
case SYS_CHARGER_DISCONNECTED:
diff --git a/manual/appendix/config_file_options.tex b/manual/appendix/config_file_options.tex
index fd08f64335..5cf5b1b0f7 100644
--- a/manual/appendix/config_file_options.tex
+++ b/manual/appendix/config_file_options.tex
@@ -107,6 +107,7 @@
idle poweroff & off, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 30, 45, 60
& min\\
+ show shutdown message & off, on & N/A\\
sleeptimer duration & 5 to 300 (in steps of 5)
& min\\
sleeptimer on startup & off, on & N/A\\
diff --git a/manual/configure_rockbox/startup_shutdown_options.tex b/manual/configure_rockbox/startup_shutdown_options.tex
index 20dd21356d..7952985ece 100644
--- a/manual/configure_rockbox/startup_shutdown_options.tex
+++ b/manual/configure_rockbox/startup_shutdown_options.tex
@@ -5,6 +5,11 @@
The \setting{Startup/Shutdown} sub menu allows you to configure items which
are run at startup, or initiate a shutdown when conditions are met.
+\begin{description}
+ \item[Show Shutdown Message.] If set, a message will be displayed and the display
+ will light up before the device shuts down.
+\end{description}
+
\subsection{Start Screen}
Set the screen that Rockbox will start in. The default is the main menu but
the following options are available: