mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-28 18:03:14 +08:00
Port most of the editors to null safety
This commit is contained in:
@ -1,5 +1,3 @@
|
||||
// @dart=2.9
|
||||
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
@ -36,16 +34,16 @@ class JournalEditor extends StatefulWidget implements Editor {
|
||||
final bool editMode;
|
||||
|
||||
JournalEditor({
|
||||
Key key,
|
||||
@required this.note,
|
||||
@required this.noteModified,
|
||||
@required this.noteDeletionSelected,
|
||||
@required this.noteEditorChooserSelected,
|
||||
@required this.exitEditorSelected,
|
||||
@required this.renameNoteSelected,
|
||||
@required this.editTagsSelected,
|
||||
@required this.moveNoteToFolderSelected,
|
||||
@required this.discardChangesSelected,
|
||||
Key? key,
|
||||
required this.note,
|
||||
required this.noteModified,
|
||||
required this.noteDeletionSelected,
|
||||
required this.noteEditorChooserSelected,
|
||||
required this.exitEditorSelected,
|
||||
required this.renameNoteSelected,
|
||||
required this.editTagsSelected,
|
||||
required this.moveNoteToFolderSelected,
|
||||
required this.discardChangesSelected,
|
||||
this.editMode = false,
|
||||
}) : super(key: key);
|
||||
|
||||
@ -59,19 +57,18 @@ class JournalEditorState extends State<JournalEditor>
|
||||
with DisposableChangeNotifier
|
||||
implements EditorState {
|
||||
Note note;
|
||||
var _textController = TextEditingController();
|
||||
bool _noteModified;
|
||||
late TextEditingController _textController;
|
||||
late bool _noteModified;
|
||||
|
||||
EditorHeuristics _heuristics;
|
||||
|
||||
JournalEditorState(this.note) {
|
||||
_textController = TextEditingController(text: note.body);
|
||||
}
|
||||
late EditorHeuristics _heuristics;
|
||||
|
||||
JournalEditorState(this.note);
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_noteModified = widget.noteModified;
|
||||
_textController = TextEditingController(text: note.body);
|
||||
|
||||
_heuristics = EditorHeuristics(text: note.body);
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,3 @@
|
||||
// @dart=2.9
|
||||
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
@ -42,18 +40,18 @@ class MarkdownEditor extends StatefulWidget implements Editor {
|
||||
final bool editMode;
|
||||
|
||||
MarkdownEditor({
|
||||
Key key,
|
||||
@required this.note,
|
||||
@required this.parentFolder,
|
||||
@required this.noteModified,
|
||||
@required this.noteDeletionSelected,
|
||||
@required this.noteEditorChooserSelected,
|
||||
@required this.exitEditorSelected,
|
||||
@required this.renameNoteSelected,
|
||||
@required this.editTagsSelected,
|
||||
@required this.moveNoteToFolderSelected,
|
||||
@required this.discardChangesSelected,
|
||||
@required this.editMode,
|
||||
Key? key,
|
||||
required this.note,
|
||||
required this.parentFolder,
|
||||
required this.noteModified,
|
||||
required this.noteDeletionSelected,
|
||||
required this.noteEditorChooserSelected,
|
||||
required this.exitEditorSelected,
|
||||
required this.renameNoteSelected,
|
||||
required this.editTagsSelected,
|
||||
required this.moveNoteToFolderSelected,
|
||||
required this.discardChangesSelected,
|
||||
required this.editMode,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
@ -66,22 +64,23 @@ class MarkdownEditorState extends State<MarkdownEditor>
|
||||
with DisposableChangeNotifier
|
||||
implements EditorState {
|
||||
Note note;
|
||||
TextEditingController _textController = TextEditingController();
|
||||
TextEditingController _titleTextController = TextEditingController();
|
||||
late TextEditingController _textController;
|
||||
late TextEditingController _titleTextController;
|
||||
|
||||
EditorHeuristics _heuristics;
|
||||
late EditorHeuristics _heuristics;
|
||||
|
||||
bool _noteModified;
|
||||
late bool _noteModified;
|
||||
|
||||
MarkdownEditorState(this.note) {
|
||||
_textController = TextEditingController(text: note.body);
|
||||
_titleTextController = TextEditingController(text: note.title);
|
||||
}
|
||||
MarkdownEditorState(this.note);
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_noteModified = widget.noteModified;
|
||||
|
||||
_textController = TextEditingController(text: note.body);
|
||||
_titleTextController = TextEditingController(text: note.title);
|
||||
|
||||
_heuristics = EditorHeuristics(text: note.body);
|
||||
}
|
||||
|
||||
@ -122,7 +121,7 @@ class MarkdownEditorState extends State<MarkdownEditor>
|
||||
);
|
||||
|
||||
var settings = Provider.of<AppSettings>(context);
|
||||
Widget markdownToolbar;
|
||||
Widget? markdownToolbar;
|
||||
if (settings.experimentalMarkdownToolbar) {
|
||||
markdownToolbar = MarkdownToolBar(
|
||||
textController: _textController,
|
||||
|
@ -1,5 +1,3 @@
|
||||
// @dart=2.9
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
@ -9,7 +7,11 @@ class NoteBodyEditor extends StatelessWidget {
|
||||
final bool autofocus;
|
||||
final Function onChanged;
|
||||
|
||||
NoteBodyEditor({this.textController, this.autofocus, this.onChanged});
|
||||
NoteBodyEditor({
|
||||
required this.textController,
|
||||
required this.autofocus,
|
||||
required this.onChanged,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
@ -1,5 +1,3 @@
|
||||
// @dart=2.9
|
||||
|
||||
/*
|
||||
Copyright 2020-2021 Alen Šiljak <gitjournal@alensiljak.eu.org>
|
||||
|
||||
@ -51,17 +49,17 @@ class OrgEditor extends StatefulWidget implements Editor {
|
||||
final bool editMode;
|
||||
|
||||
OrgEditor({
|
||||
Key key,
|
||||
@required this.note,
|
||||
@required this.noteModified,
|
||||
@required this.noteDeletionSelected,
|
||||
@required this.noteEditorChooserSelected,
|
||||
@required this.exitEditorSelected,
|
||||
@required this.renameNoteSelected,
|
||||
@required this.editTagsSelected,
|
||||
@required this.moveNoteToFolderSelected,
|
||||
@required this.discardChangesSelected,
|
||||
@required this.editMode,
|
||||
Key? key,
|
||||
required this.note,
|
||||
required this.noteModified,
|
||||
required this.noteDeletionSelected,
|
||||
required this.noteEditorChooserSelected,
|
||||
required this.exitEditorSelected,
|
||||
required this.renameNoteSelected,
|
||||
required this.editTagsSelected,
|
||||
required this.moveNoteToFolderSelected,
|
||||
required this.discardChangesSelected,
|
||||
required this.editMode,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
@ -74,21 +72,20 @@ class OrgEditorState extends State<OrgEditor>
|
||||
with DisposableChangeNotifier
|
||||
implements EditorState {
|
||||
Note note;
|
||||
bool _noteModified;
|
||||
TextEditingController _textController;
|
||||
UndoRedoStack _undoRedoStack;
|
||||
late bool _noteModified;
|
||||
late TextEditingController _textController;
|
||||
late UndoRedoStack _undoRedoStack;
|
||||
|
||||
final serializer = MarkdownYAMLCodec();
|
||||
|
||||
OrgEditorState(this.note) {
|
||||
_textController = TextEditingController(text: serializer.encode(note.data));
|
||||
_undoRedoStack = UndoRedoStack();
|
||||
}
|
||||
OrgEditorState(this.note);
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_noteModified = widget.noteModified;
|
||||
_textController = TextEditingController(text: serializer.encode(note.data));
|
||||
_undoRedoStack = UndoRedoStack();
|
||||
}
|
||||
|
||||
@override
|
||||
@ -187,12 +184,16 @@ class _NoteEditor extends StatelessWidget {
|
||||
final bool autofocus;
|
||||
final Function onChanged;
|
||||
|
||||
_NoteEditor({this.textController, this.autofocus, this.onChanged});
|
||||
_NoteEditor({
|
||||
required this.textController,
|
||||
required this.autofocus,
|
||||
required this.onChanged,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
var theme = Theme.of(context);
|
||||
var style = theme.textTheme.subtitle1.copyWith(fontFamily: "Roboto Mono");
|
||||
var style = theme.textTheme.subtitle1!.copyWith(fontFamily: "Roboto Mono");
|
||||
|
||||
return TextField(
|
||||
autofocus: autofocus,
|
||||
|
@ -1,5 +1,3 @@
|
||||
// @dart=2.9
|
||||
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
@ -35,17 +33,17 @@ class RawEditor extends StatefulWidget implements Editor {
|
||||
final bool editMode;
|
||||
|
||||
RawEditor({
|
||||
Key key,
|
||||
@required this.note,
|
||||
@required this.noteModified,
|
||||
@required this.noteDeletionSelected,
|
||||
@required this.noteEditorChooserSelected,
|
||||
@required this.exitEditorSelected,
|
||||
@required this.renameNoteSelected,
|
||||
@required this.editTagsSelected,
|
||||
@required this.moveNoteToFolderSelected,
|
||||
@required this.discardChangesSelected,
|
||||
@required this.editMode,
|
||||
Key? key,
|
||||
required this.note,
|
||||
required this.noteModified,
|
||||
required this.noteDeletionSelected,
|
||||
required this.noteEditorChooserSelected,
|
||||
required this.exitEditorSelected,
|
||||
required this.renameNoteSelected,
|
||||
required this.editTagsSelected,
|
||||
required this.moveNoteToFolderSelected,
|
||||
required this.discardChangesSelected,
|
||||
required this.editMode,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
@ -58,21 +56,20 @@ class RawEditorState extends State<RawEditor>
|
||||
with DisposableChangeNotifier
|
||||
implements EditorState {
|
||||
Note note;
|
||||
bool _noteModified;
|
||||
TextEditingController _textController;
|
||||
UndoRedoStack _undoRedoStack;
|
||||
late bool _noteModified;
|
||||
late TextEditingController _textController;
|
||||
late UndoRedoStack _undoRedoStack;
|
||||
|
||||
final serializer = MarkdownYAMLCodec();
|
||||
|
||||
RawEditorState(this.note) {
|
||||
_textController = TextEditingController(text: serializer.encode(note.data));
|
||||
_undoRedoStack = UndoRedoStack();
|
||||
}
|
||||
RawEditorState(this.note);
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_noteModified = widget.noteModified;
|
||||
_textController = TextEditingController(text: serializer.encode(note.data));
|
||||
_undoRedoStack = UndoRedoStack();
|
||||
}
|
||||
|
||||
@override
|
||||
@ -171,12 +168,16 @@ class _NoteEditor extends StatelessWidget {
|
||||
final bool autofocus;
|
||||
final Function onChanged;
|
||||
|
||||
_NoteEditor({this.textController, this.autofocus, this.onChanged});
|
||||
_NoteEditor({
|
||||
required this.textController,
|
||||
required this.autofocus,
|
||||
required this.onChanged,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
var theme = Theme.of(context);
|
||||
var style = theme.textTheme.subtitle1.copyWith(fontFamily: "Roboto Mono");
|
||||
var style = theme.textTheme.subtitle1!.copyWith(fontFamily: "Roboto Mono");
|
||||
|
||||
return TextField(
|
||||
autofocus: autofocus,
|
||||
|
Reference in New Issue
Block a user