void sort_view(FileView *v) { int i; if(v->sort[0] > SK_LAST) { /* Completely skip sorting if primary key isn't set. */ return; } view = v; custom_view = flist_custom_active(v); i = SK_COUNT; while(--i >= 0) { const char sorting_key = view->sort[i]; if(abs(sorting_key) > SK_LAST) { continue; } sort_by_key(sorting_key); } if(!ui_view_sort_list_contains(v->sort, SK_BY_DIR)) { sort_by_key(SK_BY_DIR); } }
/* Sorts sequence of file entries (plain list, not tree). */ static void sort_sequence(dir_entry_t *entries, size_t nentries) { int i = SK_COUNT; while(--i >= 0) { const char sorting_key = view_sort[i]; if(abs(sorting_key) > SK_LAST) { continue; } if(sorting_key == SK_BY_GROUPS) { sort_by_groups(entries, nentries); continue; } sort_by_key(entries, nentries, sorting_key, NULL); } if(!ui_view_sort_list_contains(view_sort, SK_BY_DIR)) { sort_by_key(entries, nentries, SK_BY_DIR, NULL); } }
void sort_view(FileView *v) { int i; view = v; i = SORT_OPTION_COUNT; while(--i >= 0) { const char sorting_key = view->sort[i]; if(abs(sorting_key) > LAST_SORT_OPTION) { continue; } sort_by_key(sorting_key); } if(!ui_view_sort_list_contains(v->sort, SORT_BY_TYPE)) { sort_by_key(SORT_BY_TYPE); } }