summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-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
5 files changed, 103 insertions, 14 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,