mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-29 18:38:36 +08:00
Minor refactor
This commit is contained in:
@ -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(
|
||||||
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user