wps: Replace menu items "Open With" & "Delete" with "Show in Files"

Limit these (less commonly used) "file handling" operations
to the File Browser while making it quicker to reveal the
file that is currently playing from the WPS.

"Open With" and "Delete" remain available as WPS shortcuts.

Change-Id: I91e582a45998160f07a3f7e16d475d770e8c5212
This commit is contained in:
Christian Soffke 2026-04-07 03:18:50 +02:00 committed by Solomon Peachy
parent e85f120190
commit e405858b9e
6 changed files with 54 additions and 12 deletions

View file

@ -829,6 +829,8 @@ long gui_wps_show(void)
if (retval == ONPLAY_MAINMENU
|| !audio_status())
return GO_TO_ROOT;
else if (retval == ONPLAY_REVEAL_FILE)
return GO_TO_FILEBROWSER;
else if (retval == ONPLAY_PLAYLIST)
return GO_TO_PLAYLIST_VIEWER;
else if (retval == ONPLAY_PLUGIN)

View file

@ -17057,3 +17057,31 @@
*: "U S B"
</voice>
</phrase>
<phrase>
id: LANG_FILE_NOT_FOUND
desc: When file does not exist
user: core
<source>
*: "File not found"
</source>
<dest>
*: "File not found"
</dest>
<voice>
*: "File not found"
</voice>
</phrase>
<phrase>
id: LANG_SHOW_IN_FILES
desc: Reveal item in File Browser
user: core
<source>
*: "Show in Files"
</source>
<dest>
*: "Show in Files"
</dest>
<voice>
*: "Show in Files"
</voice>
</phrase>

View file

@ -897,6 +897,22 @@ static bool onplay_load_plugin(void *param)
return false;
}
static int reveal(void)
{
if (!file_exists(selected_file.path))
{
splash(HZ*2, ID2P(LANG_FILE_NOT_FOUND));
return 0;
}
strmemccpy(global_status.browse_last_folder, selected_file.path,
sizeof global_status.browse_last_folder);
onplay_result = ONPLAY_REVEAL_FILE;
return 0;
}
MENUITEM_FUNCTION(reveal_item, 0, ID2P(LANG_SHOW_IN_FILES),
reveal, NULL, Icon_file_view_menu);
MENUITEM_FUNCTION(list_viewers_item, 0, ID2P(LANG_ONPLAY_OPEN_WITH),
list_viewers, clipboard_callback, Icon_NOICON);
MENUITEM_FUNCTION_W_PARAM(properties_item, 0, ID2P(LANG_PROPERTIES),
@ -1124,8 +1140,8 @@ MAKE_ONPLAYMENU( wps_onplay_menu, ID2P(LANG_ONPLAY_MENU_TITLE),
#endif
&bookmark_menu,
&plugin_item,
&browse_id3_item, &list_viewers_item,
&delete_file_item, &view_cue_item,
&browse_id3_item,
&reveal_item, &view_cue_item,
#ifdef HAVE_PITCHCONTROL
&pitch_menu,
#endif

View file

@ -38,6 +38,7 @@ enum {
ONPLAY_MAINMENU = -1,
ONPLAY_OK = 0,
ONPLAY_RELOAD_DIR,
ONPLAY_REVEAL_FILE,
ONPLAY_START_PLAY,
ONPLAY_PLAYLIST,
ONPLAY_PLUGIN,

View file

@ -143,7 +143,9 @@ each option pertains both to files and directories):
Deletes the currently selected file. This option applies only to files, and
not to directories. Rockbox will ask for confirmation before deleting a file.
Press \ActionYesNoAccept{}
to confirm deletion or any other key to cancel.
to confirm deletion or any other key to cancel. When deleting a currently
playing file, the part of the file that has already been buffered (i.e. read
into the \daps\ memory) will continue playing. This may even be the whole track.
\item [Delete Directory.]
Deletes the currently selected directory and all of the files and subdirectories
it may contain. Deleted directories cannot be recovered. Use this feature with

View file

@ -254,15 +254,8 @@ from the WPS, %
\setting{Context Menu}. Then select \setting{Show Track Info}. The same steps
work in the Playlist Viewer as well.}
\subsubsection{Open With...}
This \setting{Open With} function is the same as the \setting{Open With}
function in the file browser's \setting{Context Menu}.
\subsubsection{Delete}
Delete the currently playing file. The file will be deleted but the playback
of the file will not stop immediately. Instead, the part of the file that
has already been buffered (i.e. read into the \daps\ memory) will be played.
This may even be the whole track.
\subsubsection{Show in Files}
Reveal the currently playing track in the \setting{File Browser}.
\opt{pitchscreen}{
\subsubsection{\label{sec:pitchscreen}Pitch}