summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Soffke <christian.soffke@gmail.com>2022-11-22 21:03:19 +0100
committerChristian Soffke <christian.soffke@gmail.com>2024-04-24 05:05:42 +0200
commite8816552f6adc2bb458860759bd15a31b7d9d0d1 (patch)
tree4363ddcb7b31c084cf0ea090501fa8d7d06741a4
parent3ce3b102ddd5b663759ed61bd689b7bbda2ceecd (diff)
downloadrockbox-e8816552f6adc2bb458860759bd15a31b7d9d0d1.tar.gz
rockbox-e8816552f6adc2bb458860759bd15a31b7d9d0d1.zip
Offer choice of default browsers
The database or playlist catalogue can now be set as the browser that is launched when pressing ACTION_WPS_BROWSE on the WPS, unless another browser has more recently been opened. Previously you'd always have to exit the File Browser first, after the player had been restarted, which is annoying for users who prefer the database. The playlist catalogue has become part of the MRU browser list, so pressing ACTION_WPS_BROWSE after selecting a track from a playlist in the playlist catalogue will now take you back there. Settings menus have been slightly restructured. - Eliminated "Set WPS Context Plugin" and "Hotkey" menus from the General menu - Added "What's Playing Screen" menu in Settings-General with option for setting default browser. The "WPS Hotkey" and "WPS Context Plugin" menu options have been moved to this menu. - "File Browser Hotkey" is now part of the File View menu, which means it is accessible from the browser's context menu as well. Overview of resulting menu structure in Settings->General: What's Playing Screen Default Browser WPS Hotkey Set WPS Context Plugin File View (...) File Browser Hotkey Change-Id: Iaa3619a791c20ce3562a1efd2cf90c72933b729a
-rw-r--r--apps/lang/english.lang28
-rw-r--r--apps/menus/settings_menu.c33
-rw-r--r--apps/root_menu.c26
-rw-r--r--apps/settings.h11
-rw-r--r--apps/settings_list.c19
-rw-r--r--manual/appendix/config_file_options.tex1
-rw-r--r--manual/configure_rockbox/file_view.tex9
-rw-r--r--manual/configure_rockbox/hotkey_settings.tex15
-rw-r--r--manual/configure_rockbox/main.tex3
-rw-r--r--manual/configure_rockbox/wps.tex16
-rw-r--r--manual/configure_rockbox/wps_context_plugin.tex6
-rw-r--r--manual/rockbox_interface/hotkeys.tex7
-rw-r--r--manual/rockbox_interface/wps.tex2
13 files changed, 134 insertions, 42 deletions
diff --git a/apps/lang/english.lang b/apps/lang/english.lang
index b326d5fec0..b060c8230e 100644
--- a/apps/lang/english.lang
+++ b/apps/lang/english.lang
@@ -16683,3 +16683,31 @@
16683 *: "Quick (Ignore Directory Cache)" 16683 *: "Quick (Ignore Directory Cache)"
16684 </voice> 16684 </voice>
16685</phrase> 16685</phrase>
16686<phrase>
16687 id: LANG_WPS
16688 desc: in Settings
16689 user: core
16690 <source>
16691 *: "What's Playing Screen"
16692 </source>
16693 <dest>
16694 *: "What's Playing Screen"
16695 </dest>
16696 <voice>
16697 *: "What's Playing Screen"
16698 </voice>
16699</phrase>
16700<phrase>
16701 id: LANG_DEFAULT_BROWSER
16702 desc: in Settings
16703 user: core
16704 <source>
16705 *: "Default Browser"
16706 </source>
16707 <dest>
16708 *: "Default Browser"
16709 </dest>
16710 <voice>
16711 *: "Default Browser"
16712 </voice>
16713</phrase>
diff --git a/apps/menus/settings_menu.c b/apps/menus/settings_menu.c
index a71245cf80..191079deb8 100644
--- a/apps/menus/settings_menu.c
+++ b/apps/menus/settings_menu.c
@@ -191,6 +191,9 @@ MENUITEM_SETTING(dirfilter, &global_settings.dirfilter, NULL);
191MENUITEM_SETTING(show_filename_ext, &global_settings.show_filename_ext, NULL); 191MENUITEM_SETTING(show_filename_ext, &global_settings.show_filename_ext, NULL);
192MENUITEM_SETTING(browse_current, &global_settings.browse_current, NULL); 192MENUITEM_SETTING(browse_current, &global_settings.browse_current, NULL);
193MENUITEM_SETTING(show_path_in_browser, &global_settings.show_path_in_browser, NULL); 193MENUITEM_SETTING(show_path_in_browser, &global_settings.show_path_in_browser, NULL);
194#ifdef HAVE_HOTKEY
195MENUITEM_SETTING(hotkey_tree_item, &global_settings.hotkey_tree, NULL);
196#endif
194static int clear_start_directory(void) 197static int clear_start_directory(void)
195{ 198{
196 path_append(global_settings.start_directory, PATH_ROOTSTR, 199 path_append(global_settings.start_directory, PATH_ROOTSTR,
@@ -229,6 +232,9 @@ MAKE_MENU(file_menu, ID2P(LANG_FILE), filemenu_callback, Icon_file_view_menu,
229 &dirfilter, &show_filename_ext, &browse_current, 232 &dirfilter, &show_filename_ext, &browse_current,
230 &show_path_in_browser, 233 &show_path_in_browser,
231 &clear_start_directory_item 234 &clear_start_directory_item
235#ifdef HAVE_HOTKEY
236 ,&hotkey_tree_item
237#endif
232 ); 238 );
233static int filemenu_callback(int action, 239static int filemenu_callback(int action,
234 const struct menu_item_ex *this_item, 240 const struct menu_item_ex *this_item,
@@ -776,14 +782,24 @@ MENUITEM_FUNCTION(wps_set_context_plugin, 0,
776/***********************************/ 782/***********************************/
777 783
778/***********************************/ 784/***********************************/
779/* HOTKEY MENU */ 785/* WPS Settings MENU */
786
787MENUITEM_SETTING(browser_default,
788 &global_settings.browser_default, NULL);
789
780#ifdef HAVE_HOTKEY 790#ifdef HAVE_HOTKEY
781MENUITEM_SETTING(hotkey_wps_item, &global_settings.hotkey_wps, NULL); 791MENUITEM_SETTING(hotkey_wps_item, &global_settings.hotkey_wps, NULL);
782MENUITEM_SETTING(hotkey_tree_item, &global_settings.hotkey_tree, NULL); 792#endif
783MAKE_MENU(hotkey_menu, ID2P(LANG_HOTKEY), 0, Icon_NOICON, 793
784 &hotkey_wps_item, &hotkey_tree_item); 794MAKE_MENU(wps_settings, ID2P(LANG_WPS), 0, Icon_Playback_menu
785#endif /*have_hotkey */ 795 ,&browser_default
786/* HOTKEY MENU */ 796#ifdef HAVE_HOTKEY
797 ,&hotkey_wps_item
798#endif
799 ,&wps_set_context_plugin
800 );
801
802/* WPS Settings MENU */
787/***********************************/ 803/***********************************/
788 804
789 805
@@ -797,6 +813,7 @@ MENUITEM_FUNCTION_W_PARAM(browse_langs, 0, ID2P(LANG_LANGUAGE),
797 813
798MAKE_MENU(settings_menu_item, ID2P(LANG_GENERAL_SETTINGS), 0, 814MAKE_MENU(settings_menu_item, ID2P(LANG_GENERAL_SETTINGS), 0,
799 Icon_General_settings_menu, 815 Icon_General_settings_menu,
816 &wps_settings,
800 &playlist_settings, &file_menu, 817 &playlist_settings, &file_menu,
801#ifdef HAVE_TAGCACHE 818#ifdef HAVE_TAGCACHE
802 &tagcache_menu, 819 &tagcache_menu,
@@ -808,10 +825,6 @@ MAKE_MENU(settings_menu_item, ID2P(LANG_GENERAL_SETTINGS), 0,
808 &autoresume_menu, 825 &autoresume_menu,
809#endif 826#endif
810 &browse_langs, &voice_settings_menu, 827 &browse_langs, &voice_settings_menu,
811 &wps_set_context_plugin,
812#ifdef HAVE_HOTKEY
813 &hotkey_menu,
814#endif
815 ); 828 );
816/* SETTINGS MENU */ 829/* SETTINGS MENU */
817/***********************************/ 830/***********************************/
diff --git a/apps/root_menu.c b/apps/root_menu.c
index e606d5cd68..7c75b12586 100644
--- a/apps/root_menu.c
+++ b/apps/root_menu.c
@@ -900,9 +900,25 @@ static int root_menu_setup_screens(void)
900 return new_screen; 900 return new_screen;
901} 901}
902 902
903static int browser_default(void)
904{
905 switch (global_settings.browser_default)
906 {
907#ifdef HAVE_TAGCACHE
908 case BROWSER_DEFAULT_DB:
909 return GO_TO_DBBROWSER;
910#endif
911 case BROWSER_DEFAULT_PL_CAT:
912 return GO_TO_PLAYLISTS_SCREEN;
913 case BROWSER_DEFAULT_FILES:
914 default:
915 return GO_TO_FILEBROWSER;
916 }
917}
918
903void root_menu(void) 919void root_menu(void)
904{ 920{
905 int previous_browser = GO_TO_FILEBROWSER; 921 int previous_browser = browser_default();
906 int selected = 0; 922 int selected = 0;
907 int shortcut_origin = GO_TO_ROOT; 923 int shortcut_origin = GO_TO_ROOT;
908 924
@@ -932,12 +948,13 @@ void root_menu(void)
932 last_screen = GO_TO_ROOT; 948 last_screen = GO_TO_ROOT;
933 break; 949 break;
934#ifdef HAVE_TAGCACHE 950#ifdef HAVE_TAGCACHE
935 case GO_TO_FILEBROWSER:
936 case GO_TO_DBBROWSER: 951 case GO_TO_DBBROWSER:
952#endif
953 case GO_TO_FILEBROWSER:
954 case GO_TO_PLAYLISTS_SCREEN:
937 previous_browser = next_screen; 955 previous_browser = next_screen;
938 goto load_next_screen; 956 goto load_next_screen;
939 break; 957 break;
940#endif /* With !HAVE_TAGCACHE previous_browser is always GO_TO_FILEBROWSER */
941#if CONFIG_TUNER 958#if CONFIG_TUNER
942 case GO_TO_WPS: 959 case GO_TO_WPS:
943 case GO_TO_FM: 960 case GO_TO_FM:
@@ -1030,7 +1047,8 @@ void root_menu(void)
1030 last_screen = GO_TO_PLUGIN; 1047 last_screen = GO_TO_PLUGIN;
1031 } 1048 }
1032 } 1049 }
1033 previous_browser = (next_screen != GO_TO_WPS) ? GO_TO_FILEBROWSER : GO_TO_PLUGIN; 1050 previous_browser = (next_screen != GO_TO_WPS) ? browser_default() :
1051 GO_TO_PLUGIN;
1034 break; 1052 break;
1035 } 1053 }
1036 default: 1054 default:
diff --git a/apps/settings.h b/apps/settings.h
index ce29e020f7..2277805fec 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -127,6 +127,15 @@ enum
127 QUEUE_SHOW_IN_SUBMENU 127 QUEUE_SHOW_IN_SUBMENU
128}; 128};
129 129
130enum
131{
132 BROWSER_DEFAULT_FILES = 0,
133#ifdef HAVE_TAGCACHE
134 BROWSER_DEFAULT_DB,
135#endif
136 BROWSER_DEFAULT_PL_CAT
137};
138
130#ifdef HAVE_ALBUMART 139#ifdef HAVE_ALBUMART
131enum 140enum
132{ 141{
@@ -608,6 +617,8 @@ struct user_settings
608 unsigned char colors_file[MAX_FILENAME+1]; 617 unsigned char colors_file[MAX_FILENAME+1];
609#endif 618#endif
610 619
620 int browser_default; /* Default browser when accessed from WPS */
621
611 /* playlist/playback settings */ 622 /* playlist/playback settings */
612 int repeat_mode; /* 0=off 1=repeat all 2=repeat one 3=shuffle 4=ab */ 623 int repeat_mode; /* 0=off 1=repeat all 2=repeat one 3=shuffle 4=ab */
613 int next_folder; /* move to next folder */ 624 int next_folder; /* move to next folder */
diff --git a/apps/settings_list.c b/apps/settings_list.c
index 7bdb3522c0..dc33c27c95 100644
--- a/apps/settings_list.c
+++ b/apps/settings_list.c
@@ -1852,6 +1852,25 @@ const struct settings_list settings[] = {
1852 ID2P(LANG_SET_BOOL_YES), 1852 ID2P(LANG_SET_BOOL_YES),
1853 ID2P(LANG_IN_SUBMENU)), 1853 ID2P(LANG_IN_SUBMENU)),
1854 1854
1855 CHOICE_SETTING(0, browser_default, LANG_DEFAULT_BROWSER, 0,
1856 "default browser",
1857#ifdef HAVE_TAGCACHE
1858 "files,database,playlists",
1859#else
1860 "files,playlists",
1861#endif
1862 NULL,
1863#ifdef HAVE_TAGCACHE
1864 3
1865#else
1866 2
1867#endif
1868 ,ID2P(LANG_DIR_BROWSER),
1869#ifdef HAVE_TAGCACHE
1870 ID2P(LANG_TAGCACHE),
1871#endif
1872 ID2P(LANG_CATALOG)),
1873
1855#ifdef HAVE_BACKLIGHT 1874#ifdef HAVE_BACKLIGHT
1856 CHOICE_SETTING(0, backlight_on_button_hold, 1875 CHOICE_SETTING(0, backlight_on_button_hold,
1857 LANG_BACKLIGHT_ON_BUTTON_HOLD, 1876 LANG_BACKLIGHT_ON_BUTTON_HOLD,
diff --git a/manual/appendix/config_file_options.tex b/manual/appendix/config_file_options.tex
index 709bc9b2ff..c4318692c4 100644
--- a/manual/appendix/config_file_options.tex
+++ b/manual/appendix/config_file_options.tex
@@ -251,6 +251,7 @@
251 dircache & on, off & N/A\\ 251 dircache & on, off & N/A\\
252 tagcache\_ram & on, off & N/A\\ 252 tagcache\_ram & on, off & N/A\\
253 database path & path to a directory & N/A\\ 253 database path & path to a directory & N/A\\
254 default browser & files, database, playlists & N/A\\
254 255
255 \opt{touchpad}{ 256 \opt{touchpad}{
256 \opt{GIGABEAT_PAD}{ 257 \opt{GIGABEAT_PAD}{
diff --git a/manual/configure_rockbox/file_view.tex b/manual/configure_rockbox/file_view.tex
index 8b86e71906..112aa4c06f 100644
--- a/manual/configure_rockbox/file_view.tex
+++ b/manual/configure_rockbox/file_view.tex
@@ -1,5 +1,5 @@
1% $Id$ % 1% $Id$ %
2\section{File View} 2\section{\label{ref:FileView}File View}
3The File View menu deals with options relating to how the File Browser 3The File View menu deals with options relating to how the File Browser
4displays files. 4displays files.
5% 5%
@@ -90,4 +90,11 @@ displays files.
90 \setting{Current Directory Only} or \setting{Full Path}, then the title of 90 \setting{Current Directory Only} or \setting{Full Path}, then the title of
91 each menu will be displayed on the first line in the \setting{Database Browser}. 91 each menu will be displayed on the first line in the \setting{Database Browser}.
92 92
93\opt{hotkey}{
94 \nopt{touchscreen}{\item[File Browser Hotkey.]
95 Sets the hotkey function for the \setting{File Browser},
96 \setting{Database} and \setting{Playlist Viewer} (see \reference{ref:Hotkeys}).
97 The default is \setting{Off}.
98 }
99}
93\end{description} 100\end{description}
diff --git a/manual/configure_rockbox/hotkey_settings.tex b/manual/configure_rockbox/hotkey_settings.tex
deleted file mode 100644
index de2b3a872a..0000000000
--- a/manual/configure_rockbox/hotkey_settings.tex
+++ /dev/null
@@ -1,15 +0,0 @@
1% $Id: hotkey_settings.tex 16765 2008-03-23 22:07:09Z nls $ %
2\opt{hotkey}{
3\section{\label{ref:HotkeySettings}Hotkey}
4
5 \begin{description}
6 \item[WPS Hotkey.] \opt{touchscreen}{This options sets the hotkey function for
7 the WPS (see \reference{ref:Hotkeys}). The
8 default is \setting{View Playlist}.}
9 \nopt{touchscreen}{\item[File Browser Hotkey.]}
10 \end{description}
11
12 \nopt{touchscreen}{These options set the hotkey function for their respective
13 screens (see \reference{ref:Hotkeys}). The default for the WPS is
14 \setting{View Playlist}. The File Browser default is \setting{Off}.}
15}
diff --git a/manual/configure_rockbox/main.tex b/manual/configure_rockbox/main.tex
index b0711e5b71..b7d980d918 100644
--- a/manual/configure_rockbox/main.tex
+++ b/manual/configure_rockbox/main.tex
@@ -9,6 +9,7 @@
9\chapter{General Settings} 9\chapter{General Settings}
10\label{ref:configure_rockbox_general} 10\label{ref:configure_rockbox_general}
11 \input{configure_rockbox/general_settings.tex} 11 \input{configure_rockbox/general_settings.tex}
12 \input{configure_rockbox/wps.tex}
12 \input{configure_rockbox/playlist_options.tex} 13 \input{configure_rockbox/playlist_options.tex}
13 \input{configure_rockbox/file_view.tex} 14 \input{configure_rockbox/file_view.tex}
14 \input{configure_rockbox/database.tex} 15 \input{configure_rockbox/database.tex}
@@ -21,8 +22,6 @@
21} 22}
22 \input{configure_rockbox/language.tex} 23 \input{configure_rockbox/language.tex}
23 \input{configure_rockbox/voice.tex} 24 \input{configure_rockbox/voice.tex}
24 \input{configure_rockbox/wps_context_plugin.tex}
25 \input{configure_rockbox/hotkey_settings.tex}
26 25
27\chapter{Theme Settings} 26\chapter{Theme Settings}
28\label{ref:configure_rockbox_themes} 27\label{ref:configure_rockbox_themes}
diff --git a/manual/configure_rockbox/wps.tex b/manual/configure_rockbox/wps.tex
new file mode 100644
index 0000000000..dca27c056b
--- /dev/null
+++ b/manual/configure_rockbox/wps.tex
@@ -0,0 +1,16 @@
1
2\section{\label{ref:WPSSettings}What's Playing Screen}
3
4 \begin{description}
5 \item[Default Browser.]
6 Decide if you want the \setting{File Browser}, \setting{Database}, or
7 \setting{Playlist Catalogue} to launch after pressing \ActionWpsBrowse{}
8 on the WPS, when no other browser has recently been used.
9 \opt{hotkey}{
10 \item[WPS Hotkey.] Sets the hotkey function for
11 the WPS (see \reference{ref:Hotkeys}). The
12 default is \setting{View Playlist}.
13 }
14 \item[Set WPS Context Plugin.]
15 This option will allow you to run a Rockbox plugin from the WPS context menu.
16 \end{description}
diff --git a/manual/configure_rockbox/wps_context_plugin.tex b/manual/configure_rockbox/wps_context_plugin.tex
deleted file mode 100644
index 469a0e5ca2..0000000000
--- a/manual/configure_rockbox/wps_context_plugin.tex
+++ /dev/null
@@ -1,6 +0,0 @@
1\section{\label{ref:SetWPSContextPlugin}Set WPS Context Plugin}
2
3 \begin{description}
4 \item[Set WPS Context Plugin.]
5 This option will allow you to run a rockbox plugin from the WPS context menu
6 \end{description}
diff --git a/manual/rockbox_interface/hotkeys.tex b/manual/rockbox_interface/hotkeys.tex
index 28c8091a05..8fe07c5cf1 100644
--- a/manual/rockbox_interface/hotkeys.tex
+++ b/manual/rockbox_interface/hotkeys.tex
@@ -11,10 +11,11 @@
11 assignment.} If there is no assignment for a given screen, 11 assignment.} If there is no assignment for a given screen,
12 the hotkey is ignored. 12 the hotkey is ignored.
13 13
14 The hotkey assignments are changed for the What's Playing Screen (see
15 \reference{ref:WPSSettings}) and browsers (see \reference{ref:FileView})
16 separately.
17
14 The default assignment for the \nopt{touchscreen}{File Browser hotkey is 18 The default assignment for the \nopt{touchscreen}{File Browser hotkey is
15 \setting{Off}, while the default for the }WPS hotkey is 19 \setting{Off}, while the default for the }WPS hotkey is
16 \setting{View Playlist}. 20 \setting{View Playlist}.
17
18 The hotkey assignments are changed in the Hotkey menu (see
19 \reference{ref:HotkeySettings}) under \setting{General Settings}.
20} 21}
diff --git a/manual/rockbox_interface/wps.tex b/manual/rockbox_interface/wps.tex
index 5f810261fa..c433b76608 100644
--- a/manual/rockbox_interface/wps.tex
+++ b/manual/rockbox_interface/wps.tex
@@ -61,7 +61,7 @@ your WPS (While Playing Screen).
61 % 61 %
62 \ActionWpsBrowse 62 \ActionWpsBrowse
63 \opt{HAVEREMOTEKEYMAP}{& \ActionRCWpsBrowse} 63 \opt{HAVEREMOTEKEYMAP}{& \ActionRCWpsBrowse}
64 & Return to the \setting{File Browser} / \setting{Database}.\\ 64 & Return to the \setting{File Browser} / \setting{Database} / \setting{Playlist Catalogue}.\\
65 % 65 %
66 \ActionWpsContext 66 \ActionWpsContext
67 \opt{HAVEREMOTEKEYMAP}{& \ActionRCWpsContext} 67 \opt{HAVEREMOTEKEYMAP}{& \ActionRCWpsContext}