diff options
author | Christian Soffke <christian.soffke@gmail.com> | 2022-11-27 23:01:14 +0100 |
---|---|---|
committer | Christian Soffke <christian.soffke@gmail.com> | 2023-01-07 14:53:36 +0100 |
commit | 21ca64d7cda167d325d9b21ac25155eff13aac12 (patch) | |
tree | e5ee166cbe47fddaa6967d6aa9baed162e91f592 /apps/onplay.c | |
parent | 5bb062391fc259a7bcdd4d69d587ab4adf454e97 (diff) | |
download | rockbox-21ca64d7cda167d325d9b21ac25155eff13aac12.tar.gz rockbox-21ca64d7cda167d325d9b21ac25155eff13aac12.zip |
File Browser: Add “Set As..." context menu
Moves options for configuring:
- Playlist Directory
- Recording Directory
- Start Directory
into a single menu.
Necessary prerequisite for giving the
"Playlist Catalogue" context menu item a title that's a
little more action-oriented ("Add to Playlist…”).
Change-Id: I4ee08fc67d5350c38ae1a57cb345c4ed1082d0b5
Diffstat (limited to 'apps/onplay.c')
-rw-r--r-- | apps/onplay.c | 47 |
1 files changed, 25 insertions, 22 deletions
diff --git a/apps/onplay.c b/apps/onplay.c index a3efadd8f6..842a328ee9 100644 --- a/apps/onplay.c +++ b/apps/onplay.c | |||
@@ -796,18 +796,6 @@ static bool cat_add_to_a_new_playlist(void) | |||
796 | return catalog_add_to_a_playlist(selected_file, selected_file_attr, | 796 | return catalog_add_to_a_playlist(selected_file, selected_file_attr, |
797 | true, NULL); | 797 | true, NULL); |
798 | } | 798 | } |
799 | static int clipboard_callback(int action, | ||
800 | const struct menu_item_ex *this_item, | ||
801 | struct gui_synclist *this_list); | ||
802 | |||
803 | static bool set_catalogdir(void) | ||
804 | { | ||
805 | catalog_set_directory(selected_file); | ||
806 | settings_save(); | ||
807 | return false; | ||
808 | } | ||
809 | MENUITEM_FUNCTION(set_catalogdir_item, 0, ID2P(LANG_SET_AS_PLAYLISTCAT_DIR), | ||
810 | set_catalogdir, clipboard_callback, Icon_Playlist); | ||
811 | 799 | ||
812 | static int cat_playlist_callback(int action, | 800 | static int cat_playlist_callback(int action, |
813 | const struct menu_item_ex *this_item, | 801 | const struct menu_item_ex *this_item, |
@@ -819,7 +807,7 @@ MENUITEM_FUNCTION(cat_add_to_new, 0, ID2P(LANG_CATALOG_ADD_TO_NEW), | |||
819 | cat_add_to_a_new_playlist, NULL, Icon_Playlist); | 807 | cat_add_to_a_new_playlist, NULL, Icon_Playlist); |
820 | MAKE_ONPLAYMENU(cat_playlist_menu, ID2P(LANG_CATALOG), | 808 | MAKE_ONPLAYMENU(cat_playlist_menu, ID2P(LANG_CATALOG), |
821 | cat_playlist_callback, Icon_Playlist, | 809 | cat_playlist_callback, Icon_Playlist, |
822 | &cat_add_to_list, &cat_add_to_new, &set_catalogdir_item); | 810 | &cat_add_to_list, &cat_add_to_new); |
823 | 811 | ||
824 | void onplay_show_playlist_cat_menu(char* track_name) | 812 | void onplay_show_playlist_cat_menu(char* track_name) |
825 | { | 813 | { |
@@ -1621,7 +1609,7 @@ static bool set_recdir(void) | |||
1621 | settings_save(); | 1609 | settings_save(); |
1622 | return false; | 1610 | return false; |
1623 | } | 1611 | } |
1624 | MENUITEM_FUNCTION(set_recdir_item, 0, ID2P(LANG_SET_AS_REC_DIR), | 1612 | MENUITEM_FUNCTION(set_recdir_item, 0, ID2P(LANG_RECORDING_DIR), |
1625 | set_recdir, clipboard_callback, Icon_Recording); | 1613 | set_recdir, clipboard_callback, Icon_Recording); |
1626 | #endif | 1614 | #endif |
1627 | static bool set_startdir(void) | 1615 | static bool set_startdir(void) |
@@ -1632,9 +1620,26 @@ static bool set_startdir(void) | |||
1632 | settings_save(); | 1620 | settings_save(); |
1633 | return false; | 1621 | return false; |
1634 | } | 1622 | } |
1635 | MENUITEM_FUNCTION(set_startdir_item, 0, ID2P(LANG_SET_AS_START_DIR), | 1623 | MENUITEM_FUNCTION(set_startdir_item, 0, ID2P(LANG_START_DIR), |
1636 | set_startdir, clipboard_callback, Icon_file_view_menu); | 1624 | set_startdir, clipboard_callback, Icon_file_view_menu); |
1637 | 1625 | ||
1626 | static bool set_catalogdir(void) | ||
1627 | { | ||
1628 | catalog_set_directory(selected_file); | ||
1629 | settings_save(); | ||
1630 | return false; | ||
1631 | } | ||
1632 | MENUITEM_FUNCTION(set_catalogdir_item, 0, ID2P(LANG_PLAYLIST_DIR), | ||
1633 | set_catalogdir, clipboard_callback, Icon_Playlist); | ||
1634 | |||
1635 | MAKE_ONPLAYMENU(set_as_dir_menu, ID2P(LANG_SET_AS), | ||
1636 | clipboard_callback, Icon_NOICON, | ||
1637 | &set_catalogdir_item, | ||
1638 | #ifdef HAVE_RECORDING | ||
1639 | &set_recdir_item, | ||
1640 | #endif | ||
1641 | &set_startdir_item); | ||
1642 | |||
1638 | static int clipboard_callback(int action, | 1643 | static int clipboard_callback(int action, |
1639 | const struct menu_item_ex *this_item, | 1644 | const struct menu_item_ex *this_item, |
1640 | struct gui_synclist *this_list) | 1645 | struct gui_synclist *this_list) |
@@ -1692,7 +1697,8 @@ static int clipboard_callback(int action, | |||
1692 | /* only for directories */ | 1697 | /* only for directories */ |
1693 | if (this_item == &delete_dir_item || | 1698 | if (this_item == &delete_dir_item || |
1694 | this_item == &set_startdir_item || | 1699 | this_item == &set_startdir_item || |
1695 | this_item == &set_catalogdir_item | 1700 | this_item == &set_catalogdir_item || |
1701 | this_item == &set_as_dir_menu | ||
1696 | #ifdef HAVE_RECORDING | 1702 | #ifdef HAVE_RECORDING |
1697 | || this_item == &set_recdir_item | 1703 | || this_item == &set_recdir_item |
1698 | #endif | 1704 | #endif |
@@ -1756,17 +1762,14 @@ MAKE_ONPLAYMENU( tree_onplay_menu, ID2P(LANG_ONPLAY_MENU_TITLE), | |||
1756 | &view_playlist_item, &tree_playlist_menu, &cat_playlist_menu, | 1762 | &view_playlist_item, &tree_playlist_menu, &cat_playlist_menu, |
1757 | &rename_file_item, &clipboard_cut_item, &clipboard_copy_item, | 1763 | &rename_file_item, &clipboard_cut_item, &clipboard_copy_item, |
1758 | &clipboard_paste_item, &delete_file_item, &delete_dir_item, | 1764 | &clipboard_paste_item, &delete_file_item, &delete_dir_item, |
1759 | #if LCD_DEPTH > 1 | ||
1760 | &set_backdrop_item, | ||
1761 | #endif | ||
1762 | &list_viewers_item, &create_dir_item, &properties_item, &track_info_item, | 1765 | &list_viewers_item, &create_dir_item, &properties_item, &track_info_item, |
1763 | #ifdef HAVE_TAGCACHE | 1766 | #ifdef HAVE_TAGCACHE |
1764 | &pictureflow_item, | 1767 | &pictureflow_item, |
1765 | #endif | 1768 | #endif |
1766 | #ifdef HAVE_RECORDING | 1769 | #if LCD_DEPTH > 1 |
1767 | &set_recdir_item, | 1770 | &set_backdrop_item, |
1768 | #endif | 1771 | #endif |
1769 | &set_startdir_item, &add_to_faves_item, &file_menu, | 1772 | &add_to_faves_item, &set_as_dir_menu, &file_menu, |
1770 | ); | 1773 | ); |
1771 | static int onplaymenu_callback(int action, | 1774 | static int onplaymenu_callback(int action, |
1772 | const struct menu_item_ex *this_item, | 1775 | const struct menu_item_ex *this_item, |