summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Soffke <christian.soffke@gmail.com>2021-10-21 23:36:09 +0200
committerWilliam Wilgus <me.theuser@yahoo.com>2021-12-08 22:26:38 -0500
commit7e0e4fe888eba8133a753bb2abc748b0c404e9f5 (patch)
tree81bb6a5aecb8a2dee19ff03bd649010d7da87d27
parent5433ea540555f18d3986c5067c6f26ddf497bd9b (diff)
downloadrockbox-7e0e4fe888eba8133a753bb2abc748b0c404e9f5.tar.gz
rockbox-7e0e4fe888eba8133a753bb2abc748b0c404e9f5.zip
Add setting to hide shutdown message
Also keeps display from lighting up before shutdown, which reduces distractions, especially at night and when the sleep timer is used by allowing the screen to remain dark. Change-Id: I1c2d1966f6fb9766532adf01e8828876a871857f
-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: