mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-04-24 03:29:57 -07:00
Fix file browser sorting for good
This commit is contained in:
@@ -87,6 +87,9 @@ static int ArchiveFile_t_cmp(const ArchiveFile_t* a, const ArchiveFile_t* b) {
|
||||
if(a->type == ArchiveFileTypeFolder && b->type != ArchiveFileTypeFolder) {
|
||||
return -1;
|
||||
}
|
||||
if(a->type != ArchiveFileTypeFolder && b->type == ArchiveFileTypeFolder) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return furi_string_cmpi(a->path, b->path);
|
||||
}
|
||||
|
||||
@@ -78,11 +78,18 @@ static void BrowserItem_t_clear(BrowserItem_t* obj) {
|
||||
|
||||
static int BrowserItem_t_cmp(const BrowserItem_t* a, const BrowserItem_t* b) {
|
||||
// Back indicator comes before everything, then folders, then all other files.
|
||||
if((a->type == BrowserItemTypeBack) ||
|
||||
(a->type == BrowserItemTypeFolder && b->type != BrowserItemTypeFolder &&
|
||||
b->type != BrowserItemTypeBack)) {
|
||||
if(a->type == BrowserItemTypeBack) {
|
||||
return -1;
|
||||
}
|
||||
if(b->type == BrowserItemTypeBack) {
|
||||
return 1;
|
||||
}
|
||||
if(a->type == BrowserItemTypeFolder && b->type != BrowserItemTypeFolder) {
|
||||
return -1;
|
||||
}
|
||||
if(a->type != BrowserItemTypeFolder && b->type == BrowserItemTypeFolder) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return furi_string_cmpi(a->path, b->path);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user