Persisted file order options

This commit is contained in:
2023-06-19 14:13:56 +02:00
parent 53f1cdcda5
commit 28c98de9a7
5 changed files with 31 additions and 3 deletions

View File

@ -1,12 +1,17 @@
import 'package:json_annotation/json_annotation.dart';
import '../../view/pages/files/files.dart';
part 'fileSettings.g.dart';
@JsonSerializable()
class FileSettings {
bool sortFoldersToTop;
FileSettings({required this.sortFoldersToTop});
bool ascending;
SortOption sortBy;
FileSettings({required this.sortFoldersToTop, required this.ascending, required this.sortBy});
factory FileSettings.fromJson(Map<String, dynamic> json) => _$FileSettingsFromJson(json);
Map<String, dynamic> toJson() => _$FileSettingsToJson(this);

View File

@ -8,9 +8,19 @@ part of 'fileSettings.dart';
FileSettings _$FileSettingsFromJson(Map<String, dynamic> json) => FileSettings(
sortFoldersToTop: json['sortFoldersToTop'] as bool,
ascending: json['ascending'] as bool,
sortBy: $enumDecode(_$SortOptionEnumMap, json['sortBy']),
);
Map<String, dynamic> _$FileSettingsToJson(FileSettings instance) =>
<String, dynamic>{
'sortFoldersToTop': instance.sortFoldersToTop,
'ascending': instance.ascending,
'sortBy': _$SortOptionEnumMap[instance.sortBy]!,
};
const _$SortOptionEnumMap = {
SortOption.name: 'name',
SortOption.date: 'date',
SortOption.size: 'size',
};