Port most of the editors to null safety

This commit is contained in:
Vishesh Handa
2021-05-25 12:39:20 +02:00
parent 844111007b
commit a8de212430
5 changed files with 89 additions and 89 deletions

View File

@ -1,5 +1,3 @@
// @dart=2.9
import 'dart:io'; import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -36,16 +34,16 @@ class JournalEditor extends StatefulWidget implements Editor {
final bool editMode; final bool editMode;
JournalEditor({ JournalEditor({
Key key, Key? key,
@required this.note, required this.note,
@required this.noteModified, required this.noteModified,
@required this.noteDeletionSelected, required this.noteDeletionSelected,
@required this.noteEditorChooserSelected, required this.noteEditorChooserSelected,
@required this.exitEditorSelected, required this.exitEditorSelected,
@required this.renameNoteSelected, required this.renameNoteSelected,
@required this.editTagsSelected, required this.editTagsSelected,
@required this.moveNoteToFolderSelected, required this.moveNoteToFolderSelected,
@required this.discardChangesSelected, required this.discardChangesSelected,
this.editMode = false, this.editMode = false,
}) : super(key: key); }) : super(key: key);
@ -59,19 +57,18 @@ class JournalEditorState extends State<JournalEditor>
with DisposableChangeNotifier with DisposableChangeNotifier
implements EditorState { implements EditorState {
Note note; Note note;
var _textController = TextEditingController(); late TextEditingController _textController;
bool _noteModified; late bool _noteModified;
EditorHeuristics _heuristics; late EditorHeuristics _heuristics;
JournalEditorState(this.note) {
_textController = TextEditingController(text: note.body);
}
JournalEditorState(this.note);
@override @override
void initState() { void initState() {
super.initState(); super.initState();
_noteModified = widget.noteModified; _noteModified = widget.noteModified;
_textController = TextEditingController(text: note.body);
_heuristics = EditorHeuristics(text: note.body); _heuristics = EditorHeuristics(text: note.body);
} }

View File

@ -1,5 +1,3 @@
// @dart=2.9
import 'dart:io'; import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -42,18 +40,18 @@ class MarkdownEditor extends StatefulWidget implements Editor {
final bool editMode; final bool editMode;
MarkdownEditor({ MarkdownEditor({
Key key, Key? key,
@required this.note, required this.note,
@required this.parentFolder, required this.parentFolder,
@required this.noteModified, required this.noteModified,
@required this.noteDeletionSelected, required this.noteDeletionSelected,
@required this.noteEditorChooserSelected, required this.noteEditorChooserSelected,
@required this.exitEditorSelected, required this.exitEditorSelected,
@required this.renameNoteSelected, required this.renameNoteSelected,
@required this.editTagsSelected, required this.editTagsSelected,
@required this.moveNoteToFolderSelected, required this.moveNoteToFolderSelected,
@required this.discardChangesSelected, required this.discardChangesSelected,
@required this.editMode, required this.editMode,
}) : super(key: key); }) : super(key: key);
@override @override
@ -66,22 +64,23 @@ class MarkdownEditorState extends State<MarkdownEditor>
with DisposableChangeNotifier with DisposableChangeNotifier
implements EditorState { implements EditorState {
Note note; Note note;
TextEditingController _textController = TextEditingController(); late TextEditingController _textController;
TextEditingController _titleTextController = TextEditingController(); late TextEditingController _titleTextController;
EditorHeuristics _heuristics; late EditorHeuristics _heuristics;
bool _noteModified; late bool _noteModified;
MarkdownEditorState(this.note) { MarkdownEditorState(this.note);
_textController = TextEditingController(text: note.body);
_titleTextController = TextEditingController(text: note.title);
}
@override @override
void initState() { void initState() {
super.initState(); super.initState();
_noteModified = widget.noteModified; _noteModified = widget.noteModified;
_textController = TextEditingController(text: note.body);
_titleTextController = TextEditingController(text: note.title);
_heuristics = EditorHeuristics(text: note.body); _heuristics = EditorHeuristics(text: note.body);
} }
@ -122,7 +121,7 @@ class MarkdownEditorState extends State<MarkdownEditor>
); );
var settings = Provider.of<AppSettings>(context); var settings = Provider.of<AppSettings>(context);
Widget markdownToolbar; Widget? markdownToolbar;
if (settings.experimentalMarkdownToolbar) { if (settings.experimentalMarkdownToolbar) {
markdownToolbar = MarkdownToolBar( markdownToolbar = MarkdownToolBar(
textController: _textController, textController: _textController,

View File

@ -1,5 +1,3 @@
// @dart=2.9
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
@ -9,7 +7,11 @@ class NoteBodyEditor extends StatelessWidget {
final bool autofocus; final bool autofocus;
final Function onChanged; final Function onChanged;
NoteBodyEditor({this.textController, this.autofocus, this.onChanged}); NoteBodyEditor({
required this.textController,
required this.autofocus,
required this.onChanged,
});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {

View File

@ -1,5 +1,3 @@
// @dart=2.9
/* /*
Copyright 2020-2021 Alen Šiljak <gitjournal@alensiljak.eu.org> Copyright 2020-2021 Alen Šiljak <gitjournal@alensiljak.eu.org>
@ -51,17 +49,17 @@ class OrgEditor extends StatefulWidget implements Editor {
final bool editMode; final bool editMode;
OrgEditor({ OrgEditor({
Key key, Key? key,
@required this.note, required this.note,
@required this.noteModified, required this.noteModified,
@required this.noteDeletionSelected, required this.noteDeletionSelected,
@required this.noteEditorChooserSelected, required this.noteEditorChooserSelected,
@required this.exitEditorSelected, required this.exitEditorSelected,
@required this.renameNoteSelected, required this.renameNoteSelected,
@required this.editTagsSelected, required this.editTagsSelected,
@required this.moveNoteToFolderSelected, required this.moveNoteToFolderSelected,
@required this.discardChangesSelected, required this.discardChangesSelected,
@required this.editMode, required this.editMode,
}) : super(key: key); }) : super(key: key);
@override @override
@ -74,21 +72,20 @@ class OrgEditorState extends State<OrgEditor>
with DisposableChangeNotifier with DisposableChangeNotifier
implements EditorState { implements EditorState {
Note note; Note note;
bool _noteModified; late bool _noteModified;
TextEditingController _textController; late TextEditingController _textController;
UndoRedoStack _undoRedoStack; late UndoRedoStack _undoRedoStack;
final serializer = MarkdownYAMLCodec(); final serializer = MarkdownYAMLCodec();
OrgEditorState(this.note) { OrgEditorState(this.note);
_textController = TextEditingController(text: serializer.encode(note.data));
_undoRedoStack = UndoRedoStack();
}
@override @override
void initState() { void initState() {
super.initState(); super.initState();
_noteModified = widget.noteModified; _noteModified = widget.noteModified;
_textController = TextEditingController(text: serializer.encode(note.data));
_undoRedoStack = UndoRedoStack();
} }
@override @override
@ -187,12 +184,16 @@ class _NoteEditor extends StatelessWidget {
final bool autofocus; final bool autofocus;
final Function onChanged; final Function onChanged;
_NoteEditor({this.textController, this.autofocus, this.onChanged}); _NoteEditor({
required this.textController,
required this.autofocus,
required this.onChanged,
});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
var theme = Theme.of(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( return TextField(
autofocus: autofocus, autofocus: autofocus,

View File

@ -1,5 +1,3 @@
// @dart=2.9
import 'dart:io'; import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -35,17 +33,17 @@ class RawEditor extends StatefulWidget implements Editor {
final bool editMode; final bool editMode;
RawEditor({ RawEditor({
Key key, Key? key,
@required this.note, required this.note,
@required this.noteModified, required this.noteModified,
@required this.noteDeletionSelected, required this.noteDeletionSelected,
@required this.noteEditorChooserSelected, required this.noteEditorChooserSelected,
@required this.exitEditorSelected, required this.exitEditorSelected,
@required this.renameNoteSelected, required this.renameNoteSelected,
@required this.editTagsSelected, required this.editTagsSelected,
@required this.moveNoteToFolderSelected, required this.moveNoteToFolderSelected,
@required this.discardChangesSelected, required this.discardChangesSelected,
@required this.editMode, required this.editMode,
}) : super(key: key); }) : super(key: key);
@override @override
@ -58,21 +56,20 @@ class RawEditorState extends State<RawEditor>
with DisposableChangeNotifier with DisposableChangeNotifier
implements EditorState { implements EditorState {
Note note; Note note;
bool _noteModified; late bool _noteModified;
TextEditingController _textController; late TextEditingController _textController;
UndoRedoStack _undoRedoStack; late UndoRedoStack _undoRedoStack;
final serializer = MarkdownYAMLCodec(); final serializer = MarkdownYAMLCodec();
RawEditorState(this.note) { RawEditorState(this.note);
_textController = TextEditingController(text: serializer.encode(note.data));
_undoRedoStack = UndoRedoStack();
}
@override @override
void initState() { void initState() {
super.initState(); super.initState();
_noteModified = widget.noteModified; _noteModified = widget.noteModified;
_textController = TextEditingController(text: serializer.encode(note.data));
_undoRedoStack = UndoRedoStack();
} }
@override @override
@ -171,12 +168,16 @@ class _NoteEditor extends StatelessWidget {
final bool autofocus; final bool autofocus;
final Function onChanged; final Function onChanged;
_NoteEditor({this.textController, this.autofocus, this.onChanged}); _NoteEditor({
required this.textController,
required this.autofocus,
required this.onChanged,
});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
var theme = Theme.of(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( return TextField(
autofocus: autofocus, autofocus: autofocus,