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:
Vishesh Handa
2020-08-16 15:51:53 +02:00
parent 155d04e465
commit d94a1e1630
3 changed files with 19 additions and 10 deletions

View File

@ -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,

View File

@ -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 =

View File

@ -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;