From 6c5460a9855222fe547bc61477b4c65ca409d859 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 2 Oct 2025 20:01:56 -0500 Subject: [PATCH] show files ahead of time? don't wait for the directory to be loaded --- src/gui/newFilePicker.cpp | 42 +++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/src/gui/newFilePicker.cpp b/src/gui/newFilePicker.cpp index 254c8470e..ff7dabf91 100644 --- a/src/gui/newFilePicker.cpp +++ b/src/gui/newFilePicker.cpp @@ -734,11 +734,7 @@ void FurnaceFilePicker::setSizeConstraints(const ImVec2& min, const ImVec2& max) void FurnaceFilePicker::drawFileList(ImVec2& tableSize, bool& acknowledged) { // display a message on empty dir, no matches or error - if (!haveFiles && !isSearch) { - if (ImGui::BeginTable("LoadingFiles",1,ImGuiTableFlags_BordersOuter,tableSize)) { - ImGui::EndTable(); - } - } else if (filteredEntries.empty()) { + if (filteredEntries.empty()) { if (ImGui::BeginTable("NoFiles",3,ImGuiTableFlags_BordersOuter,tableSize)) { ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthStretch,0.5f); ImGui::TableSetupColumn("c1",ImGuiTableColumnFlags_WidthFixed); @@ -749,26 +745,30 @@ void FurnaceFilePicker::drawFileList(ImVec2& tableSize, bool& acknowledged) { ImGui::TableNextColumn(); ImGui::SetCursorPosY(ImGui::GetCursorPosY()+(tableSize.y-ImGui::GetTextLineHeight())*0.5); - if (sortedEntries.empty()) { - if (failMessage.empty()) { - ImGui::Text("This directory is empty!"); - } else { + if (haveFiles) { + if (sortedEntries.empty()) { + if (failMessage.empty()) { + ImGui::Text("This directory is empty!"); + } else { #ifdef _WIN32 - ImGui::Text("%s",failMessage.c_str()); + ImGui::Text("%s",failMessage.c_str()); #else - ImGui::Text("%s!",failMessage.c_str()); + ImGui::Text("%s!",failMessage.c_str()); #endif + } + } else { + if (failMessage.empty()) { + ImGui::Text("No results"); + } else { +#ifdef _WIN32 + ImGui::Text("%s",failMessage.c_str()); +#else + ImGui::Text("%s!",failMessage.c_str()); +#endif + } } } else { - if (failMessage.empty()) { - ImGui::Text("No results"); - } else { -#ifdef _WIN32 - ImGui::Text("%s",failMessage.c_str()); -#else - ImGui::Text("%s!",failMessage.c_str()); -#endif - } + // don't } ImGui::TableNextColumn(); @@ -1321,7 +1321,7 @@ bool FurnaceFilePicker::draw(ImGuiWindowFlags winFlags) { wantSearch=true; } - if (scheduledSort && (haveFiles || isSearch)) { + if (scheduledSort) { if (haveStat) { scheduledSort=0; }