summaryrefslogtreecommitdiffstats
path: root/apps/onplay.c
diff options
context:
space:
mode:
authorChristian Soffke <christian.soffke@gmail.com>2022-11-27 23:01:14 +0100
committerChristian Soffke <christian.soffke@gmail.com>2023-01-07 14:53:36 +0100
commit21ca64d7cda167d325d9b21ac25155eff13aac12 (patch)
treee5ee166cbe47fddaa6967d6aa9baed162e91f592 /apps/onplay.c
parent5bb062391fc259a7bcdd4d69d587ab4adf454e97 (diff)
downloadrockbox-21ca64d7cd.tar.gz
rockbox-21ca64d7cd.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.c47
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)
return catalog_add_to_a_playlist(selected_file, selected_file_attr,
true, NULL);
}
-static int clipboard_callback(int action,
- const struct menu_item_ex *this_item,
- struct gui_synclist *this_list);
-
-static bool set_catalogdir(void)
-{
- catalog_set_directory(selected_file);
- settings_save();
- return false;
-}
-MENUITEM_FUNCTION(set_catalogdir_item, 0, ID2P(LANG_SET_AS_PLAYLISTCAT_DIR),
- set_catalogdir, clipboard_callback, Icon_Playlist);
static int cat_playlist_callback(int action,
const struct menu_item_ex *this_item,
@@ -819,7 +807,7 @@ MENUITEM_FUNCTION(cat_add_to_new, 0, ID2P(LANG_CATALOG_ADD_TO_NEW),
cat_add_to_a_new_playlist, NULL, Icon_Playlist);
MAKE_ONPLAYMENU(cat_playlist_menu, ID2P(LANG_CATALOG),
cat_playlist_callback, Icon_Playlist,
- &cat_add_to_list, &cat_add_to_new, &set_catalogdir_item);
+ &cat_add_to_list, &cat_add_to_new);
void onplay_show_playlist_cat_menu(char* track_name)
{
@@ -1621,7 +1609,7 @@ static bool set_recdir(void)
settings_save();
return false;
}
-MENUITEM_FUNCTION(set_recdir_item, 0, ID2P(LANG_SET_AS_REC_DIR),
+MENUITEM_FUNCTION(set_recdir_item, 0, ID2P(LANG_RECORDING_DIR),
set_recdir, clipboard_callback, Icon_Recording);
#endif
static bool set_startdir(void)
@@ -1632,9 +1620,26 @@ static bool set_startdir(void)
settings_save();
return false;
}
-MENUITEM_FUNCTION(set_startdir_item, 0, ID2P(LANG_SET_AS_START_DIR),
+MENUITEM_FUNCTION(set_startdir_item, 0, ID2P(LANG_START_DIR),
set_startdir, clipboard_callback, Icon_file_view_menu);
+static bool set_catalogdir(void)
+{
+ catalog_set_directory(selected_file);
+ settings_save();
+ return false;
+}
+MENUITEM_FUNCTION(set_catalogdir_item, 0, ID2P(LANG_PLAYLIST_DIR),
+ set_catalogdir, clipboard_callback, Icon_Playlist);
+
+MAKE_ONPLAYMENU(set_as_dir_menu, ID2P(LANG_SET_AS),
+ clipboard_callback, Icon_NOICON,
+ &set_catalogdir_item,
+#ifdef HAVE_RECORDING
+ &set_recdir_item,
+#endif
+ &set_startdir_item);
+
static int clipboard_callback(int action,
const struct menu_item_ex *this_item,
struct gui_synclist *this_list)
@@ -1692,7 +1697,8 @@ static int clipboard_callback(int action,
/* only for directories */
if (this_item == &delete_dir_item ||
this_item == &set_startdir_item ||
- this_item == &set_catalogdir_item
+ this_item == &set_catalogdir_item ||
+ this_item == &set_as_dir_menu
#ifdef HAVE_RECORDING
|| this_item == &set_recdir_item
#endif
@@ -1756,17 +1762,14 @@ MAKE_ONPLAYMENU( tree_onplay_menu, ID2P(LANG_ONPLAY_MENU_TITLE),
&view_playlist_item, &tree_playlist_menu, &cat_playlist_menu,
&rename_file_item, &clipboard_cut_item, &clipboard_copy_item,
&clipboard_paste_item, &delete_file_item, &delete_dir_item,
-#if LCD_DEPTH > 1
- &set_backdrop_item,
-#endif
&list_viewers_item, &create_dir_item, &properties_item, &track_info_item,
#ifdef HAVE_TAGCACHE
&pictureflow_item,
#endif
-#ifdef HAVE_RECORDING
- &set_recdir_item,
+#if LCD_DEPTH > 1
+ &set_backdrop_item,
#endif
- &set_startdir_item, &add_to_faves_item, &file_menu,
+ &add_to_faves_item, &set_as_dir_menu, &file_menu,
);
static int onplaymenu_callback(int action,
const struct menu_item_ex *this_item,