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

@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:json_annotation/json_annotation.dart';
import '../file/fileSettings.dart';
import '../gradeAverages/gradeAveragesSettings.dart';
import '../talk/talkSettings.dart';
import '../timetable/timetableSettings.dart';
@ -19,6 +20,7 @@ class Settings {
GradeAveragesSettings gradeAveragesSettings;
TimetableSettings timetableSettings;
TalkSettings talkSettings;
FileSettings fileSettings;
Settings({
required this.appTheme,
@ -26,6 +28,7 @@ class Settings {
required this.gradeAveragesSettings,
required this.timetableSettings,
required this.talkSettings,
required this.fileSettings,
});
static String _themeToJson(ThemeMode m) => m.name;

View File

@ -15,6 +15,8 @@ Settings _$SettingsFromJson(Map<String, dynamic> json) => Settings(
json['timetableSettings'] as Map<String, dynamic>),
talkSettings:
TalkSettings.fromJson(json['talkSettings'] as Map<String, dynamic>),
fileSettings:
FileSettings.fromJson(json['fileSettings'] as Map<String, dynamic>),
);
Map<String, dynamic> _$SettingsToJson(Settings instance) => <String, dynamic>{
@ -23,4 +25,5 @@ Map<String, dynamic> _$SettingsToJson(Settings instance) => <String, dynamic>{
'gradeAveragesSettings': instance.gradeAveragesSettings.toJson(),
'timetableSettings': instance.timetableSettings.toJson(),
'talkSettings': instance.talkSettings.toJson(),
'fileSettings': instance.fileSettings.toJson(),
};

View File

@ -1,6 +1,7 @@
import 'dart:convert';
import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:marianum_mobile/storage/file/fileSettings.dart';
import 'package:shared_preferences/shared_preferences.dart';
import '../gradeAverages/gradeAveragesSettings.dart';
@ -60,6 +61,9 @@ class SettingsProvider extends ChangeNotifier {
sortFavoritesToTop: true,
sortUnreadToTop: false,
),
fileSettings: FileSettings(
sortFoldersToTop: true,
),
);
}
}

View File

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

View File

@ -0,0 +1,16 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'fileSettings.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
FileSettings _$FileSettingsFromJson(Map<String, dynamic> json) => FileSettings(
sortFoldersToTop: json['sortFoldersToTop'] as bool,
);
Map<String, dynamic> _$FileSettingsToJson(FileSettings instance) =>
<String, dynamic>{
'sortFoldersToTop': instance.sortFoldersToTop,
};