mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-29 02:07:39 +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 '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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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,
|
||||||
|
@ -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) {
|
||||||
|
@ -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,
|
||||||
|
@ -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,
|
||||||
|
Reference in New Issue
Block a user