From fa5a732b6883c62cb5207fd4363e83348709979b Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 8 Feb 2022 23:13:54 -0500 Subject: [PATCH] GUI: extensions no longer case-sensitive fixes #154 --- extern/igfd/ImGuiFileDialog.cpp | 4 ++++ src/gui/gui.cpp | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/extern/igfd/ImGuiFileDialog.cpp b/extern/igfd/ImGuiFileDialog.cpp index 4b8be969..3300d4e0 100644 --- a/extern/igfd/ImGuiFileDialog.cpp +++ b/extern/igfd/ImGuiFileDialog.cpp @@ -1475,6 +1475,10 @@ namespace IGFD infos->fileExt = infos->fileNameExt.substr(lpt); } + for (char& i: infos->fileExt) { + if (i>='A' && i<='Z') i+='a'-'A'; + } + if (!vFileDialogInternal.puFilterManager.IsCoveredByFilters(infos->fileExt)) { return; diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 041394ef..27a77089 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -5511,7 +5511,11 @@ void FurnaceGUI::processDrags(int dragX, int dragY) { } #define checkExtension(x) \ - if (fileName.size()<4 || fileName.rfind(x)!=fileName.size()-4) { \ + String lowerCase=fileName; \ + for (char& i: lowerCase) { \ + if (i>='A' && i<='Z') i+='a'-'A'; \ + } \ + if (lowerCase.size()<4 || lowerCase.rfind(x)!=lowerCase.size()-4) { \ fileName+=x; \ }