@@ -45,7 +45,7 @@ void lcd_sd_updir() {
45
45
46
46
void MarlinUI::reselect_last_file () {
47
47
if (sd_encoder_position == 0xFFFF ) return ;
48
- goto_screen (menu_media , sd_encoder_position, sd_top_line, sd_items);
48
+ goto_screen (menu_media_filelist , sd_encoder_position, sd_top_line, sd_items);
49
49
sd_encoder_position = 0xFFFF ;
50
50
defer_status_screen ();
51
51
}
@@ -101,6 +101,29 @@ class MenuItem_sdfolder : public MenuItem_sdbase {
101
101
}
102
102
};
103
103
104
+ #if HAS_MULTI_VOLUME
105
+ void menu_media_select () {
106
+ START_MENU ();
107
+ BACK_ITEM_F (TERN1 (BROWSE_MEDIA_ON_INSERT, screen_history_depth) ? GET_TEXT_F (MSG_MAIN_MENU) : GET_TEXT_F (MSG_BACK));
108
+ #if ENABLED(VOLUME_SD_ONBOARD)
109
+ ACTION_ITEM (MSG_SD_CARD, []{ card.changeMedia (&card.media_driver_sdcard ); card.mount (); ui.goto_screen (menu_media_filelist); });
110
+ #endif
111
+ #if ENABLED(VOLUME_USB_FLASH_DRIVE)
112
+ ACTION_ITEM (MSG_USB_DISK, []{ card.changeMedia (&card.media_driver_usbFlash ); card.mount (); ui.goto_screen (menu_media_filelist); });
113
+ #endif
114
+ END_MENU ();
115
+ }
116
+ #endif
117
+
118
+ /* *
119
+ * "Select From Media" menu item. Depending on single or multiple drives:
120
+ * - menu_media_filelist - List files on the current media
121
+ * - menu_media_select - Select one of the attached drives, then go to the file list
122
+ */
123
+ void menu_media () {
124
+ ui.goto_screen (TERN (HAS_MULTI_VOLUME, menu_media_select, menu_media_filelist));
125
+ }
126
+
104
127
void menu_media_filelist () {
105
128
ui.encoder_direction_menus ();
106
129
@@ -113,7 +136,7 @@ void menu_media_filelist() {
113
136
114
137
START_MENU ();
115
138
#if HAS_MULTI_VOLUME
116
- ACTION_ITEM (MSG_BACK, []{ ui.goto_screen (menu_media ); });
139
+ ACTION_ITEM (MSG_BACK, []{ ui.goto_screen (menu_media_select ); });
117
140
#else
118
141
BACK_ITEM_F (TERN1 (BROWSE_MEDIA_ON_INSERT, screen_history_depth) ? GET_TEXT_F (MSG_MAIN_MENU) : GET_TEXT_F (MSG_BACK));
119
142
#endif
@@ -141,22 +164,4 @@ void menu_media_filelist() {
141
164
END_MENU ();
142
165
}
143
166
144
- #if HAS_MULTI_VOLUME
145
- void menu_media_select () {
146
- START_MENU ();
147
- BACK_ITEM_F (TERN1 (BROWSE_MEDIA_ON_INSERT, screen_history_depth) ? GET_TEXT_F (MSG_MAIN_MENU) : GET_TEXT_F (MSG_BACK));
148
- #if ENABLED(VOLUME_SD_ONBOARD)
149
- ACTION_ITEM (MSG_SD_CARD, []{ card.changeMedia (&card.media_driver_sdcard ); card.mount (); ui.goto_screen (menu_media_filelist); });
150
- #endif
151
- #if ENABLED(VOLUME_USB_FLASH_DRIVE)
152
- ACTION_ITEM (MSG_USB_DISK, []{ card.changeMedia (&card.media_driver_usbFlash ); card.mount (); ui.goto_screen (menu_media_filelist); });
153
- #endif
154
- END_MENU ();
155
- }
156
- #endif
157
-
158
- void menu_media () {
159
- TERN (HAS_MULTI_VOLUME, menu_media_select, menu_media_filelist)();
160
- }
161
-
162
167
#endif // HAS_MARLINUI_MENU && HAS_MEDIA
0 commit comments