summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2024-05-30 21:18:38 -0400
committerSolomon Peachy <pizza@shaftnet.org>2024-05-30 21:22:01 -0400
commiteaeaac598d5c06a138a5e8ea012f7a959461e473 (patch)
treeda5f7bb0f3c7aefef6e7726bdda9a9aedf8f68a8
parentd22dbe74cb2c4c93a3c0b79a29c087bc39714c14 (diff)
downloadrockbox-eaeaac598d.tar.gz
rockbox-eaeaac598d.zip
FS#13431: Provide a way to view the rockbox license in the menus
This adds a "Legal Notices" entry under the System menu that will launch the text viewer plugin to display: 1) COPYING.txt (containing the GPLv2 overall license for Rockbox) 2) LICENSES.txt (containing all other relevant licenses and notices) Change-Id: Id41ae491b6f9a6ec5663090246d0f6b661cddea5
-rw-r--r--apps/lang/english-us.lang14
-rw-r--r--apps/lang/english.lang14
-rw-r--r--apps/menus/main_menu.c14
3 files changed, 41 insertions, 1 deletions
diff --git a/apps/lang/english-us.lang b/apps/lang/english-us.lang
index 586dc80914..680b3e0883 100644
--- a/apps/lang/english-us.lang
+++ b/apps/lang/english-us.lang
@@ -16298,3 +16298,17 @@
*: "Always 1"
</voice>
</phrase>
+<phrase>
+ id: LANG_LEGAL_NOTICES
+ desc: in system menu
+ user: core
+ <source>
+ *: "Legal Notices"
+ </source>
+ <dest>
+ *: "Legal Notices"
+ </dest>
+ <voice>
+ *: "Legal Notices"
+ </voice>
+</phrase>
diff --git a/apps/lang/english.lang b/apps/lang/english.lang
index fdedf01866..a93cff90ec 100644
--- a/apps/lang/english.lang
+++ b/apps/lang/english.lang
@@ -16374,3 +16374,17 @@
*: "Always 1"
</voice>
</phrase>
+<phrase>
+ id: LANG_LEGAL_NOTICES
+ desc: in system menu
+ user: core
+ <source>
+ *: "Legal Notices"
+ </source>
+ <dest>
+ *: "Legal Notices"
+ </dest>
+ <voice>
+ *: "Legal Notices"
+ </voice>
+</phrase>
diff --git a/apps/menus/main_menu.c b/apps/menus/main_menu.c
index 73c9f7be33..a483a72eb0 100644
--- a/apps/menus/main_menu.c
+++ b/apps/menus/main_menu.c
@@ -121,6 +121,15 @@ static int show_credits(void)
return 0;
}
+static int show_legal(void)
+{
+ if (plugin_load(VIEWERS_DIR "/text_viewer.rock", "/.rockbox/docs/COPYING.txt") != PLUGIN_OK)
+ show_info();
+ if (plugin_load(VIEWERS_DIR "/text_viewer.rock", "/.rockbox/docs/LICENSES.txt") != PLUGIN_OK)
+ show_info();
+ return 0;
+}
+
#define SIZE_FMT "%s %s"
struct info_data
@@ -469,9 +478,12 @@ MENUITEM_FUNCTION(show_runtime_item, 0, ID2P(LANG_RUNNING_TIME),
MENUITEM_FUNCTION(debug_menu_item, 0, ID2P(LANG_DEBUG),
debug_menu, NULL, Icon_NOICON);
+MENUITEM_FUNCTION(show_legal_item, 0, ID2P(LANG_LEGAL_NOTICES),
+ show_legal, NULL, Icon_NOICON);
+
MAKE_MENU(info_menu, ID2P(LANG_SYSTEM), 0, Icon_System_menu,
&show_info_item, &show_credits_item,
- &show_runtime_item, &debug_menu_item);
+ &show_runtime_item, &show_legal_item, &debug_menu_item);
/* INFO MENU */
/***********************************/