🚸 Update Ender3 V2/S1 Pro UI (#23878)
This commit is contained in:
committed by
Scott Lahteine
parent
b045c91f26
commit
eabeac29fd
@ -195,7 +195,7 @@ char *createFilename(char * const buffer, const dir_t &p) {
|
||||
}
|
||||
|
||||
//
|
||||
// Return 'true' if the item is something Marlin can read
|
||||
// Return 'true' if the item is a folder, G-code file or Binary file
|
||||
//
|
||||
bool CardReader::is_visible_entity(const dir_t &p OPTARG(CUSTOM_FIRMWARE_UPLOAD, bool onlyBin/*=false*/)) {
|
||||
//uint8_t pn0 = p.name[0];
|
||||
@ -212,14 +212,15 @@ bool CardReader::is_visible_entity(const dir_t &p OPTARG(CUSTOM_FIRMWARE_UPLOAD,
|
||||
) return false;
|
||||
|
||||
flag.filenameIsDir = DIR_IS_SUBDIR(&p); // We know it's a File or Folder
|
||||
setBinFlag(p.name[8] == 'B' && // List .bin files (a firmware file for flashing)
|
||||
p.name[9] == 'I' &&
|
||||
p.name[10]== 'N');
|
||||
|
||||
return (
|
||||
flag.filenameIsDir // All Directories are ok
|
||||
|| fileIsBinary() // BIN files are accepted
|
||||
|| (!onlyBin && p.name[8] == 'G'
|
||||
&& p.name[9] != '~') // Non-backup *.G* files are accepted
|
||||
|| ( onlyBin && p.name[8] == 'B'
|
||||
&& p.name[9] == 'I'
|
||||
&& p.name[10] == 'N') // BIN files are accepted
|
||||
);
|
||||
}
|
||||
|
||||
@ -867,6 +868,7 @@ void CardReader::selectFileByIndex(const uint16_t nr) {
|
||||
strcpy(filename, sortshort[nr]);
|
||||
strcpy(longFilename, sortnames[nr]);
|
||||
flag.filenameIsDir = IS_DIR(nr);
|
||||
setBinFlag(strcmp_P(strrchr(filename, '.'), PSTR(".BIN")) == 0);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
@ -884,6 +886,7 @@ void CardReader::selectFileByName(const char * const match) {
|
||||
strcpy(filename, sortshort[nr]);
|
||||
strcpy(longFilename, sortnames[nr]);
|
||||
flag.filenameIsDir = IS_DIR(nr);
|
||||
setBinFlag(strcmp_P(strrchr(filename, '.'), PSTR(".BIN")) == 0);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
@ -80,6 +80,9 @@ typedef struct {
|
||||
filenameIsDir:1,
|
||||
workDirIsRoot:1,
|
||||
abort_sd_printing:1
|
||||
#if DO_LIST_BIN_FILES
|
||||
, filenameIsBin:1
|
||||
#endif
|
||||
#if ENABLED(BINARY_FILE_TRANSFER)
|
||||
, binary_mode:1
|
||||
#endif
|
||||
@ -218,6 +221,10 @@ public:
|
||||
static void removeJobRecoveryFile();
|
||||
#endif
|
||||
|
||||
// Binary flag for the current file
|
||||
static bool fileIsBinary() { return TERN0(DO_LIST_BIN_FILES, flag.filenameIsBin); }
|
||||
static void setBinFlag(const bool bin) { TERN(DO_LIST_BIN_FILES, flag.filenameIsBin = bin, UNUSED(bin)); }
|
||||
|
||||
// Current Working Dir - Set by cd, cdup, cdroot, and diveToFile(true, ...)
|
||||
static char* getWorkDirName() { workDir.getDosName(filename); return filename; }
|
||||
static SdFile& getWorkDir() { return workDir.isOpen() ? workDir : root; }
|
||||
|
Reference in New Issue
Block a user