Added option to show folders always on top in files

This commit is contained in:
2023-06-08 20:55:57 +02:00
parent 213c815eee
commit 2c10b02e53
7 changed files with 61 additions and 1 deletions

View File

@ -4,6 +4,8 @@ import 'dart:io';
import 'package:flutter/material.dart';
import 'package:loader_overlay/loader_overlay.dart';
import 'package:marianum_mobile/storage/base/settingsProvider.dart';
import 'package:provider/provider.dart';
import '../../../api/marianumcloud/webdav/queries/listFiles/cacheableFile.dart';
import '../../../api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart';
@ -93,7 +95,11 @@ class _FilesState extends State<Files> {
@override
Widget build(BuildContext context) {
List<CacheableFile> files = (data?.files.toList() ?? List.empty())..sort(SortOptions.getOption(currentSort).compare);
List<CacheableFile> files = (data?.files.toList() ?? List.empty())..sort((a, b) {
int directorySort = Provider.of<SettingsProvider>(context).val().fileSettings.sortFoldersToTop ? a.isDirectory ? b.isDirectory ? 0 : 1 : -1 : 0;
if(directorySort == 0) return SortOptions.getOption(currentSort).compare(a, b);
return directorySort;
});
if(currentSortDirection) files = files.reversed.toList();
return Scaffold(