@@ -104,7 +104,7 @@ class MenuItem_sdfolder : public MenuItem_sdbase {
104104 }
105105};
106106
107- void menu_media () {
107+ void menu_media_filelist () {
108108 ui.encoder_direction_menus ();
109109
110110 #if HAS_MARLINUI_U8GLIB
@@ -115,7 +115,11 @@ void menu_media() {
115115 #endif
116116
117117 START_MENU ();
118- BACK_ITEM_P (TERN1 (BROWSE_MEDIA_ON_INSERT, screen_history_depth) ? GET_TEXT (MSG_MAIN) : GET_TEXT (MSG_BACK));
118+ #if ENABLED(MULTI_VOLUME)
119+ ACTION_ITEM (MSG_BACK, []{ ui.goto_screen (menu_media); });
120+ #else
121+ BACK_ITEM_P (TERN1 (BROWSE_MEDIA_ON_INSERT, screen_history_depth) ? GET_TEXT (MSG_MAIN) : GET_TEXT (MSG_BACK));
122+ #endif
119123 if (card.flag .workDirIsRoot ) {
120124 #if !PIN_EXISTS(SD_DETECT)
121125 ACTION_ITEM (MSG_REFRESH, []{ encoderTopLine = 0 ; card.mount (); });
@@ -138,4 +142,22 @@ void menu_media() {
138142 END_MENU ();
139143}
140144
145+ #if ENABLED(MULTI_VOLUME)
146+ void menu_media_select () {
147+ START_MENU ();
148+ BACK_ITEM_P (TERN1 (BROWSE_MEDIA_ON_INSERT, screen_history_depth) ? GET_TEXT (MSG_MAIN) : GET_TEXT (MSG_BACK));
149+ #if ENABLED(VOLUME_SD_ONBOARD)
150+ ACTION_ITEM (MSG_SD_CARD, []{ card.changeMedia (&card.media_driver_sdcard ); card.mount (); ui.goto_screen (menu_media_filelist); });
151+ #endif
152+ #if ENABLED(VOLUME_USB_FLASH_DRIVE)
153+ ACTION_ITEM (MSG_USB_DISK, []{ card.changeMedia (&card.media_driver_usbFlash ); card.mount (); ui.goto_screen (menu_media_filelist); });
154+ #endif
155+ END_MENU ();
156+ }
157+ #endif
158+
159+ void menu_media () {
160+ TERN (MULTI_VOLUME, menu_media_select, menu_media_filelist)();
161+ }
162+
141163#endif // HAS_LCD_MENU && SDSUPPORT
0 commit comments