void lcd_sdcard_menu() { if (lcdDrawUpdate == 0 && LCD_CLICKED == 0) return; // nothing to do (so don't thrash the SD card) uint16_t fileCnt = card.getnrfilenames(); START_MENU(); MENU_ITEM(back, MSG_MAIN, lcd_main_menu); card.getWorkDirName(); if(card.filename[0]=='/') { #if SDCARDDETECT == -1 MENU_ITEM(function, LCD_STR_REFRESH MSG_REFRESH, lcd_sd_refresh); #endif }else{ MENU_ITEM(function, LCD_STR_FOLDER "..", lcd_sd_updir); } for(uint16_t i=0;i<fileCnt;i++) { if (_menuItemNr == _lineNr) { card.getfilename(i); if (card.filenameIsDir) { MENU_ITEM(sddirectory, MSG_CARD_MENU, card.filename, card.longFilename); }else{ MENU_ITEM(sdfile, MSG_CARD_MENU, card.filename, card.longFilename); } }else{ MENU_ITEM_DUMMY(); } } END_MENU(); }
void menu_sdcard() { ui.encoder_direction_menus(); const uint16_t fileCnt = card.get_num_Files(); START_MENU(); MENU_BACK(MSG_MAIN); card.getWorkDirName(); if (card.filename[0] == '/') { #if !PIN_EXISTS(SD_DETECT) MENU_ITEM(function, LCD_STR_REFRESH MSG_REFRESH, lcd_sd_refresh); #endif } else if (card.isDetected()) MENU_ITEM(function, LCD_STR_FOLDER "..", lcd_sd_updir); if (ui.should_draw()) for (uint16_t i = 0; i < fileCnt; i++) { if (_menuLineNr == _thisItemNr) { const uint16_t nr = #if ENABLED(SDCARD_RATHERRECENTFIRST) && DISABLED(SDCARD_SORT_ALPHA) fileCnt - 1 - #endif i; card.getfilename_sorted(nr); if (card.flag.filenameIsDir) MENU_ITEM(sdfolder, MSG_CARD_MENU, card); else MENU_ITEM(sdfile, MSG_CARD_MENU, card); } else { MENU_ITEM_DUMMY(); } } END_MENU(); }