experimental recursive search - buggy

- doesn't work at times for some reasom
- sort breaks
- it may hang under specific situations. beware.
This commit is contained in:
tildearrow 2025-10-02 17:38:31 -05:00
parent 8fbfef94cf
commit d8ab8e7af0
2 changed files with 176 additions and 69 deletions

View file

@ -99,7 +99,7 @@ class FurnaceFilePicker {
std::thread* fileThread;
std::mutex entryLock;
String windowName;
String path, filter;
String path, filter, searchQuery;
String failMessage;
String homeDir;
String entryName;
@ -110,7 +110,7 @@ class FurnaceFilePicker {
bool sortInvert[FP_SORT_MAX];
bool multiSelect;
bool confirmOverwrite, dirSelect, noClose, isModal, isEmbed, hasSizeConstraints;
bool isPathBookmarked;
bool isPathBookmarked, isSearch;
int scheduledSort, imguiFlags;
size_t curFilterType;
SortModes sortMode;
@ -147,12 +147,14 @@ class FurnaceFilePicker {
String normalizePath(const String& which);
bool isPathAbsolute(const String& p);
void addBookmark(const String& p, String n="");
FileEntry* makeEntry(void* _entry, const char* prefix=NULL);
void drawFileList(ImVec2& tableSize, bool& acknowledged);
void drawBookmarks(ImVec2& tableSize, String& newDir);
public:
void readDirectorySub();
void searchSub(String subPath, int depth);
void setHomeDir(String where);
FilePickerStatus getStatus();
const String& getPath();