Minor refactor

This commit is contained in:
Vishesh Handa
2020-05-13 16:04:28 +02:00
parent 132b3ddcb8
commit 0dfb86788e
2 changed files with 24 additions and 14 deletions

View File

@ -10,7 +10,6 @@ import 'package:gitjournal/core/sorting_mode.dart';
import 'package:gitjournal/folder_views/standard_view.dart'; import 'package:gitjournal/folder_views/standard_view.dart';
import 'package:gitjournal/screens/note_editor.dart'; import 'package:gitjournal/screens/note_editor.dart';
import 'package:gitjournal/screens/settings_screen.dart'; import 'package:gitjournal/screens/settings_screen.dart';
import 'package:gitjournal/settings.dart';
import 'package:gitjournal/state_container.dart'; import 'package:gitjournal/state_container.dart';
import 'package:gitjournal/utils.dart'; import 'package:gitjournal/utils.dart';
import 'package:gitjournal/widgets/app_drawer.dart'; import 'package:gitjournal/widgets/app_drawer.dart';
@ -209,19 +208,12 @@ class _FolderViewState extends State<FolderView> {
} }
void _newPost(BuildContext context, EditorType editorType) async { void _newPost(BuildContext context, EditorType editorType) async {
NotesFolderFS fsFolder = widget.notesFolder.fsFolder; var folder = widget.notesFolder;
if (widget.notesFolder.name != fsFolder.name) { NotesFolderFS fsFolder = folder.fsFolder;
var spec = Settings.instance.defaultNewNoteFolderSpec; var isVirtualFolder = folder.name != folder.fsFolder.name;
var journalSpec = Settings.instance.journalEditordefaultNewNoteFolderSpec; if (isVirtualFolder) {
var rootFolder = Provider.of<NotesFolderFS>(context);
switch (editorType) { fsFolder = getFolderForEditor(rootFolder, editorType);
case EditorType.Journal:
fsFolder = fsFolder.getFolderWithSpec(journalSpec);
break;
default:
fsFolder = fsFolder.getFolderWithSpec(spec);
break;
}
} }
var route = MaterialPageRoute( var route = MaterialPageRoute(

View File

@ -1,4 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:gitjournal/core/notes_folder_fs.dart';
import 'package:gitjournal/screens/note_editor.dart';
import 'package:gitjournal/settings.dart';
import 'package:package_info/package_info.dart'; import 'package:package_info/package_info.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -43,3 +46,18 @@ void showSnackbar(BuildContext context, String message) {
..removeCurrentSnackBar() ..removeCurrentSnackBar()
..showSnackBar(snackBar); ..showSnackBar(snackBar);
} }
NotesFolderFS getFolderForEditor(
NotesFolderFS rootFolder,
EditorType editorType,
) {
var spec = Settings.instance.defaultNewNoteFolderSpec;
var journalSpec = Settings.instance.journalEditordefaultNewNoteFolderSpec;
switch (editorType) {
case EditorType.Journal:
return rootFolder.getFolderWithSpec(journalSpec);
default:
return rootFolder.getFolderWithSpec(spec);
}
}