mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-30 19:36:25 +08:00
Remove another use of Settings.instance
I really want to remove this global variable, and only access it through the Provider.
This commit is contained in:
20
lib/app.dart
20
lib/app.dart
@ -313,12 +313,13 @@ class _JournalAppState extends State<JournalApp> {
|
||||
initialRoute: initialRoute,
|
||||
debugShowCheckedModeBanner: false,
|
||||
//debugShowMaterialGrid: true,
|
||||
onGenerateRoute: (settings) {
|
||||
var route = settings.name;
|
||||
onGenerateRoute: (routeSettings) {
|
||||
var route = routeSettings.name;
|
||||
if (route == '/folders' || route == '/tags' || route == '/filesystem') {
|
||||
return PageRouteBuilder(
|
||||
settings: settings,
|
||||
pageBuilder: (_, __, ___) => _screenForRoute(route, stateContainer),
|
||||
settings: routeSettings,
|
||||
pageBuilder: (_, __, ___) =>
|
||||
_screenForRoute(route, stateContainer, settings),
|
||||
transitionsBuilder: (_, anim, __, child) {
|
||||
return FadeTransition(opacity: anim, child: child);
|
||||
},
|
||||
@ -326,17 +327,22 @@ class _JournalAppState extends State<JournalApp> {
|
||||
}
|
||||
|
||||
return MaterialPageRoute(
|
||||
settings: settings,
|
||||
settings: routeSettings,
|
||||
builder: (context) => _screenForRoute(
|
||||
route,
|
||||
stateContainer,
|
||||
settings,
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
Widget _screenForRoute(String route, StateContainer stateContainer) {
|
||||
Widget _screenForRoute(
|
||||
String route,
|
||||
StateContainer stateContainer,
|
||||
Settings settings,
|
||||
) {
|
||||
switch (route) {
|
||||
case '/':
|
||||
return HomeScreen();
|
||||
@ -379,7 +385,7 @@ class _JournalAppState extends State<JournalApp> {
|
||||
Log.d("sharedImages: $sharedImages");
|
||||
|
||||
return NoteEditor.newNote(
|
||||
getFolderForEditor(rootFolder, et),
|
||||
getFolderForEditor(settings, rootFolder, et),
|
||||
et,
|
||||
existingText: sharedText,
|
||||
existingImages: sharedImages,
|
||||
|
@ -169,7 +169,9 @@ class _FolderViewState extends State<FolderView> {
|
||||
var isVirtualFolder = folder.name != folder.fsFolder.name;
|
||||
if (isVirtualFolder) {
|
||||
var rootFolder = Provider.of<NotesFolderFS>(context);
|
||||
fsFolder = getFolderForEditor(rootFolder, editorType);
|
||||
var settings = Provider.of<Settings>(context);
|
||||
|
||||
fsFolder = getFolderForEditor(settings, rootFolder, editorType);
|
||||
}
|
||||
|
||||
var routeType =
|
||||
|
@ -47,14 +47,15 @@ void showSnackbar(BuildContext context, String message) {
|
||||
}
|
||||
|
||||
NotesFolderFS getFolderForEditor(
|
||||
Settings settings,
|
||||
NotesFolderFS rootFolder,
|
||||
EditorType editorType,
|
||||
) {
|
||||
var spec = Settings.instance.defaultNewNoteFolderSpec;
|
||||
var spec = settings.defaultNewNoteFolderSpec;
|
||||
|
||||
switch (editorType) {
|
||||
case EditorType.Journal:
|
||||
spec = Settings.instance.journalEditordefaultNewNoteFolderSpec;
|
||||
spec = settings.journalEditordefaultNewNoteFolderSpec;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
Reference in New Issue
Block a user