summaryrefslogtreecommitdiffstats
path: root/apps/menus/playlist_menu.c
diff options
context:
space:
mode:
authorChristian Soffke <christian.soffke@gmail.com>2021-03-12 19:24:58 +0100
committerSolomon Peachy <pizza@shaftnet.org>2021-03-14 23:36:03 +0000
commit2d8e0f7c907ee0d50e6e55fc9ed5f94a43ab5d67 (patch)
tree57d7525bc71142b11ec7164e53f1d656de8ed335 /apps/menus/playlist_menu.c
parent99383a0f9ba9e940a4017890965494c373a7f09a (diff)
downloadrockbox-2d8e0f7c907ee0d50e6e55fc9ed5f94a43ab5d67.tar.gz
rockbox-2d8e0f7c907ee0d50e6e55fc9ed5f94a43ab5d67.zip
Customizable Current Playlist Submenu
Options to add shuffled tracks and to queue tracks in the Current Playlist Submenu can now be hidden, or the latter can also be put into its own submenu. Users can customize this in Settings by going to "General Settings - Playlists -> Current Playlist" and choosing from "Show Shuffled Adding Options" (No / Yes) or "Show Queue Options" (No / Yes / In Submenu). Allows for the paring down of the set of choices to a minimum of the 4 more common ones for adding tracks to a dynamic playlist (coming from the current total of 11). Defaults have been set so that users have to actively modify their settings to notice any difference, which makes it unlikely that anybody's workflow would be negatively affected by this change. Change-Id: Ibe48fc4da2c79f54cd7272df8e1e3ba9955203e5
Diffstat (limited to 'apps/menus/playlist_menu.c')
-rw-r--r--apps/menus/playlist_menu.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/apps/menus/playlist_menu.c b/apps/menus/playlist_menu.c
index b0d9a44a9e..dfb9d73d62 100644
--- a/apps/menus/playlist_menu.c
+++ b/apps/menus/playlist_menu.c
@@ -80,15 +80,14 @@ static int playlist_view_(void)
playlist_viewer_ex(NULL);
return 0;
}
-MENUITEM_FUNCTION(create_playlist_item, 0, ID2P(LANG_CREATE_PLAYLIST),
+MENUITEM_FUNCTION(create_playlist_item, 0, ID2P(LANG_CREATE_PLAYLIST),
create_playlist, NULL, NULL, Icon_NOICON);
MENUITEM_FUNCTION(view_cur_playlist, 0,
- ID2P(LANG_VIEW_DYNAMIC_PLAYLIST),
+ ID2P(LANG_VIEW_DYNAMIC_PLAYLIST),
playlist_view_, NULL, NULL, Icon_NOICON);
-MENUITEM_FUNCTION(save_playlist, MENU_FUNC_USEPARAM, ID2P(LANG_SAVE_DYNAMIC_PLAYLIST),
+MENUITEM_FUNCTION(save_playlist, MENU_FUNC_USEPARAM, ID2P(LANG_SAVE_DYNAMIC_PLAYLIST),
save_playlist_screen, NULL, NULL, Icon_NOICON);
MENUITEM_SETTING(recursive_dir_insert, &global_settings.recursive_dir_insert, NULL);
-MENUITEM_SETTING(warn_on_erase, &global_settings.warnon_erase_dynplaylist, NULL);
static int clear_catalog_directory(void)
{
catalog_set_directory(NULL);
@@ -96,22 +95,29 @@ static int clear_catalog_directory(void)
splash(HZ, ID2P(LANG_RESET_DONE_CLEAR));
return false;
}
-MENUITEM_FUNCTION(clear_catalog_directory_item, 0, ID2P(LANG_RESET_PLAYLISTCAT_DIR),
+MENUITEM_FUNCTION(clear_catalog_directory_item, 0, ID2P(LANG_RESET_PLAYLISTCAT_DIR),
clear_catalog_directory, NULL, NULL, Icon_file_view_menu);
/* Playlist viewer settings submenu */
MENUITEM_SETTING(show_icons, &global_settings.playlist_viewer_icons, NULL);
MENUITEM_SETTING(show_indices, &global_settings.playlist_viewer_indices, NULL);
-MENUITEM_SETTING(track_display,
+MENUITEM_SETTING(track_display,
&global_settings.playlist_viewer_track_display, NULL);
-MAKE_MENU(viewer_settings_menu, ID2P(LANG_PLAYLISTVIEWER_SETTINGS),
+MAKE_MENU(viewer_settings_menu, ID2P(LANG_PLAYLISTVIEWER_SETTINGS),
NULL, Icon_Playlist,
&show_icons, &show_indices, &track_display);
+/* Current Playlist submenu */
+MENUITEM_SETTING(warn_on_erase, &global_settings.warnon_erase_dynplaylist, NULL);
+MENUITEM_SETTING(show_shuffled_adding_options, &global_settings.show_shuffled_adding_options, NULL);
+MENUITEM_SETTING(show_queue_options, &global_settings.show_queue_options, NULL);
+MAKE_MENU(currentplaylist_settings_menu, ID2P(LANG_CURRENT_PLAYLIST),
+ NULL, Icon_Playlist,
+ &warn_on_erase, &show_shuffled_adding_options, &show_queue_options);
MAKE_MENU(playlist_settings, ID2P(LANG_PLAYLISTS), NULL,
Icon_Playlist,
- &viewer_settings_menu, &recursive_dir_insert, &warn_on_erase);
+ &viewer_settings_menu, &recursive_dir_insert, &currentplaylist_settings_menu);
MAKE_MENU(playlist_options, ID2P(LANG_PLAYLISTS), NULL,
Icon_Playlist,
&create_playlist_item, &view_cur_playlist,