prepare for natural sort...

This commit is contained in:
tildearrow 2025-10-03 19:52:18 -05:00
parent 6fe211f5c8
commit 6ababe34e0
3 changed files with 8 additions and 28 deletions

View file

@ -711,7 +711,7 @@ void FurnaceFilePicker::sortFiles() {
if (a->time.tm_min==b->time.tm_min) {
if (a->time.tm_sec==b->time.tm_sec) {
// fall back to sorting by name
return a->nameLower<b->nameLower;
break;
}
return a->time.tm_sec<b->time.tm_sec;
}
@ -1430,6 +1430,9 @@ bool FurnaceFilePicker::draw(ImGuiWindowFlags winFlags) {
if (ImGui::Checkbox(_("Sort directories first"),&sortDirsFirst)) {
scheduledSort=1;
}
/*if (ImGui::Checkbox(_("Numeric sort"),&naturalSort)) {
scheduledSort=1;
}*/
ImGui::TextUnformatted(_("Columns to display:"));
ImGui::Indent();
ImGui::Checkbox(_("Type"),&displayType);
@ -1790,6 +1793,7 @@ void FurnaceFilePicker::loadSettings(DivConfig& conf) {
singleClickSelect=conf.getBool(configPrefix+"singleClickSelect",false);
clearSearchOnDirChange=conf.getBool(configPrefix+"clearSearchOnDirChange",false);
sortDirsFirst=conf.getBool(configPrefix+"sortDirsFirst",true);
naturalSort=conf.getBool(configPrefix+"naturalSort",false);
displayType=conf.getBool(configPrefix+"displayType",true);
displaySize=conf.getBool(configPrefix+"displaySize",true);
displayDate=conf.getBool(configPrefix+"displayDate",true);
@ -1802,6 +1806,7 @@ void FurnaceFilePicker::saveSettings(DivConfig& conf) {
conf.set(configPrefix+"singleClickSelect",singleClickSelect);
conf.set(configPrefix+"clearSearchOnDirChange",clearSearchOnDirChange);
conf.set(configPrefix+"sortDirsFirst",sortDirsFirst);
conf.set(configPrefix+"naturalSort",naturalSort);
conf.set(configPrefix+"displayType",displayType);
conf.set(configPrefix+"displaySize",displaySize);
conf.set(configPrefix+"displayDate",displayDate);
@ -1870,6 +1875,7 @@ FurnaceFilePicker::FurnaceFilePicker():
singleClickSelect(false),
clearSearchOnDirChange(false),
sortDirsFirst(true),
naturalSort(false),
displayType(true),
displaySize(true),
displayDate(true) {

View file

@ -141,6 +141,7 @@ class FurnaceFilePicker {
bool singleClickSelect;
bool clearSearchOnDirChange;
bool sortDirsFirst;
bool naturalSort;
bool displayType, displaySize, displayDate;
void sortFiles();

View file

@ -6805,33 +6805,6 @@ void FurnaceGUI::applyUISettings(bool updateFonts) {
headFont=mainFont;
}
// set built-in file picker up (OLD)
/*
IGFDOld::Instance()->okButtonString=_("OK");
IGFDOld::Instance()->cancelButtonString=_("Cancel");
IGFDOld::Instance()->searchString=_("Search");
IGFDOld::Instance()->dirEntryString=_("[Dir]");
IGFDOld::Instance()->linkEntryString=_("[Link]");
IGFDOld::Instance()->fileEntryString=_("[File]");
IGFDOld::Instance()->fileNameString=_("Name:");
IGFDOld::Instance()->dirNameString=_("Path:");
IGFDOld::Instance()->buttonResetSearchString=_("Reset search");
IGFDOld::Instance()->buttonDriveString=_("Drives");
IGFDOld::Instance()->buttonEditPathString=_("Edit path\nYou can also right click on path buttons");
IGFDOld::Instance()->buttonResetPathString=_("Go to home directory");
IGFDOld::Instance()->buttonParentDirString=_("Go to parent directory");
IGFDOld::Instance()->buttonCreateDirString=_("Create Directory");
IGFDOld::Instance()->tableHeaderFileNameString=_("File name");
IGFDOld::Instance()->tableHeaderFileTypeString=_("Type");
IGFDOld::Instance()->tableHeaderFileSizeString=_("Size");
IGFDOld::Instance()->tableHeaderFileDateString=_("Date");
IGFDOld::Instance()->OverWriteDialogTitleString=_("Warning");
IGFDOld::Instance()->OverWriteDialogMessageString=_("The file you selected already exists! Would you like to overwrite it?");
IGFDOld::Instance()->OverWriteDialogConfirmButtonString=_("Yes");
IGFDOld::Instance()->OverWriteDialogCancelButtonString=_("No");
IGFDOld::Instance()->DateTimeFormat=_("%Y/%m/%d %H:%M");
*/
// set built-in file picker up (NEW)
newFilePicker->setTypeStyle(FP_TYPE_UNKNOWN,uiColors[GUI_COLOR_FILE_OTHER],ICON_FA_QUESTION);
newFilePicker->setTypeStyle(FP_TYPE_NORMAL,uiColors[GUI_COLOR_FILE_OTHER],ICON_FA_FILE_O);