✨ MULTI_VOLUME for Color UI and MarlinUI (#22004)
This commit is contained in:
		
				
					committed by
					
						
						Scott Lahteine
					
				
			
			
				
	
			
			
			
						parent
						
							d84e2d6e29
						
					
				
				
					commit
					2b4284df81
				
			@@ -46,8 +46,8 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
 | 
			
		||||
  if (event != LV_EVENT_RELEASED) return;
 | 
			
		||||
  lv_clear_media_select();
 | 
			
		||||
  switch (obj->mks_obj_id) {
 | 
			
		||||
    case ID_T_USB_DISK: card.changeMedia(&card.media_usbFlashDrive); break;
 | 
			
		||||
    case ID_T_SD_DISK:  card.changeMedia(&card.media_sd_spi); break;
 | 
			
		||||
    case ID_T_USB_DISK: card.changeMedia(&card.media_driver_usbFlash); break;
 | 
			
		||||
    case ID_T_SD_DISK:  card.changeMedia(&card.media_driver_sdcard); break;
 | 
			
		||||
    case ID_T_RETURN:
 | 
			
		||||
      TERN_(MKS_TEST, curent_disp_ui = 1);
 | 
			
		||||
      lv_draw_ready_print();
 | 
			
		||||
 
 | 
			
		||||
@@ -740,6 +740,9 @@ namespace Language_en {
 | 
			
		||||
  PROGMEM Language_Str MSG_CALIBRATION_FAILED              = _UxGT("Calibration Failed");
 | 
			
		||||
 | 
			
		||||
  PROGMEM Language_Str MSG_DRIVER_BACKWARD                 = _UxGT(" driver backward");
 | 
			
		||||
 | 
			
		||||
  PROGMEM Language_Str MSG_SD_CARD                         = _UxGT("SD Card");
 | 
			
		||||
  PROGMEM Language_Str MSG_USB_DISK                        = _UxGT("USB Disk");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if FAN_COUNT == 1
 | 
			
		||||
 
 | 
			
		||||
@@ -104,7 +104,7 @@ class MenuItem_sdfolder : public MenuItem_sdbase {
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void menu_media() {
 | 
			
		||||
void menu_media_filelist() {
 | 
			
		||||
  ui.encoder_direction_menus();
 | 
			
		||||
 | 
			
		||||
  #if HAS_MARLINUI_U8GLIB
 | 
			
		||||
@@ -115,7 +115,11 @@ void menu_media() {
 | 
			
		||||
  #endif
 | 
			
		||||
 | 
			
		||||
  START_MENU();
 | 
			
		||||
  BACK_ITEM_P(TERN1(BROWSE_MEDIA_ON_INSERT, screen_history_depth) ? GET_TEXT(MSG_MAIN) : GET_TEXT(MSG_BACK));
 | 
			
		||||
  #if ENABLED(MULTI_VOLUME)
 | 
			
		||||
    ACTION_ITEM(MSG_BACK, []{ ui.goto_screen(menu_media); });
 | 
			
		||||
  #else
 | 
			
		||||
    BACK_ITEM_P(TERN1(BROWSE_MEDIA_ON_INSERT, screen_history_depth) ? GET_TEXT(MSG_MAIN) : GET_TEXT(MSG_BACK));
 | 
			
		||||
  #endif
 | 
			
		||||
  if (card.flag.workDirIsRoot) {
 | 
			
		||||
    #if !PIN_EXISTS(SD_DETECT)
 | 
			
		||||
      ACTION_ITEM(MSG_REFRESH, []{ encoderTopLine = 0; card.mount(); });
 | 
			
		||||
@@ -138,4 +142,22 @@ void menu_media() {
 | 
			
		||||
  END_MENU();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if ENABLED(MULTI_VOLUME)
 | 
			
		||||
  void menu_media_select() {
 | 
			
		||||
    START_MENU();
 | 
			
		||||
    BACK_ITEM_P(TERN1(BROWSE_MEDIA_ON_INSERT, screen_history_depth) ? GET_TEXT(MSG_MAIN) : GET_TEXT(MSG_BACK));
 | 
			
		||||
    #if ENABLED(VOLUME_SD_ONBOARD)
 | 
			
		||||
      ACTION_ITEM(MSG_SD_CARD, []{ card.changeMedia(&card.media_driver_sdcard); card.mount(); ui.goto_screen(menu_media_filelist); });
 | 
			
		||||
    #endif
 | 
			
		||||
    #if ENABLED(VOLUME_USB_FLASH_DRIVE)
 | 
			
		||||
      ACTION_ITEM(MSG_USB_DISK, []{ card.changeMedia(&card.media_driver_usbFlash); card.mount(); ui.goto_screen(menu_media_filelist); });
 | 
			
		||||
    #endif
 | 
			
		||||
    END_MENU();
 | 
			
		||||
  }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void menu_media() {
 | 
			
		||||
  TERN(MULTI_VOLUME, menu_media_select, menu_media_filelist)();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif // HAS_LCD_MENU && SDSUPPORT
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user