mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-30 03:19:11 +08:00
RawEditor: Give focus when using it for a new note
This commit is contained in:
@ -23,6 +23,8 @@ class ChecklistEditor extends StatefulWidget implements Editor {
|
|||||||
@override
|
@override
|
||||||
final NoteCallback discardChangesSelected;
|
final NoteCallback discardChangesSelected;
|
||||||
|
|
||||||
|
final bool autofocusOnEditor;
|
||||||
|
|
||||||
ChecklistEditor({
|
ChecklistEditor({
|
||||||
Key key,
|
Key key,
|
||||||
@required this.note,
|
@required this.note,
|
||||||
@ -32,6 +34,7 @@ class ChecklistEditor extends StatefulWidget implements Editor {
|
|||||||
@required this.renameNoteSelected,
|
@required this.renameNoteSelected,
|
||||||
@required this.moveNoteToFolderSelected,
|
@required this.moveNoteToFolderSelected,
|
||||||
@required this.discardChangesSelected,
|
@required this.discardChangesSelected,
|
||||||
|
@required this.autofocusOnEditor,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
@ -31,7 +31,7 @@ class MarkdownEditor extends StatefulWidget implements Editor {
|
|||||||
@required this.renameNoteSelected,
|
@required this.renameNoteSelected,
|
||||||
@required this.moveNoteToFolderSelected,
|
@required this.moveNoteToFolderSelected,
|
||||||
@required this.discardChangesSelected,
|
@required this.discardChangesSelected,
|
||||||
this.autofocusOnEditor = false,
|
@required this.autofocusOnEditor,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
@ -20,6 +20,8 @@ class RawEditor extends StatefulWidget implements Editor {
|
|||||||
@override
|
@override
|
||||||
final NoteCallback discardChangesSelected;
|
final NoteCallback discardChangesSelected;
|
||||||
|
|
||||||
|
final bool autofocusOnEditor;
|
||||||
|
|
||||||
RawEditor({
|
RawEditor({
|
||||||
Key key,
|
Key key,
|
||||||
@required this.note,
|
@required this.note,
|
||||||
@ -29,6 +31,7 @@ class RawEditor extends StatefulWidget implements Editor {
|
|||||||
@required this.renameNoteSelected,
|
@required this.renameNoteSelected,
|
||||||
@required this.moveNoteToFolderSelected,
|
@required this.moveNoteToFolderSelected,
|
||||||
@required this.discardChangesSelected,
|
@required this.discardChangesSelected,
|
||||||
|
@required this.autofocusOnEditor,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -58,7 +61,10 @@ class RawEditorState extends State<RawEditor> implements EditorState {
|
|||||||
var editor = Padding(
|
var editor = Padding(
|
||||||
padding: const EdgeInsets.all(16.0),
|
padding: const EdgeInsets.all(16.0),
|
||||||
child: SingleChildScrollView(
|
child: SingleChildScrollView(
|
||||||
child: _NoteEditor(_textController),
|
child: _NoteEditor(
|
||||||
|
_textController,
|
||||||
|
autofocus: widget.autofocusOnEditor,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -78,8 +84,9 @@ class RawEditorState extends State<RawEditor> implements EditorState {
|
|||||||
|
|
||||||
class _NoteEditor extends StatelessWidget {
|
class _NoteEditor extends StatelessWidget {
|
||||||
final TextEditingController textController;
|
final TextEditingController textController;
|
||||||
|
final bool autofocus;
|
||||||
|
|
||||||
_NoteEditor(this.textController);
|
_NoteEditor(this.textController, {this.autofocus = false});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
@ -87,7 +94,7 @@ class _NoteEditor extends StatelessWidget {
|
|||||||
Theme.of(context).textTheme.subhead.copyWith(fontFamily: "Roboto Mono");
|
Theme.of(context).textTheme.subhead.copyWith(fontFamily: "Roboto Mono");
|
||||||
|
|
||||||
return TextField(
|
return TextField(
|
||||||
autofocus: false,
|
autofocus: autofocus,
|
||||||
autocorrect: false,
|
autocorrect: false,
|
||||||
keyboardType: TextInputType.multiline,
|
keyboardType: TextInputType.multiline,
|
||||||
maxLines: null,
|
maxLines: null,
|
||||||
|
@ -103,6 +103,7 @@ class NoteEditorState extends State<NoteEditor> {
|
|||||||
renameNoteSelected: _renameNoteSelected,
|
renameNoteSelected: _renameNoteSelected,
|
||||||
moveNoteToFolderSelected: _moveNoteToFolderSelected,
|
moveNoteToFolderSelected: _moveNoteToFolderSelected,
|
||||||
discardChangesSelected: _discardChangesSelected,
|
discardChangesSelected: _discardChangesSelected,
|
||||||
|
autofocusOnEditor: _isNewNote,
|
||||||
);
|
);
|
||||||
case EditorType.Checklist:
|
case EditorType.Checklist:
|
||||||
return ChecklistEditor(
|
return ChecklistEditor(
|
||||||
@ -114,6 +115,7 @@ class NoteEditorState extends State<NoteEditor> {
|
|||||||
renameNoteSelected: _renameNoteSelected,
|
renameNoteSelected: _renameNoteSelected,
|
||||||
moveNoteToFolderSelected: _moveNoteToFolderSelected,
|
moveNoteToFolderSelected: _moveNoteToFolderSelected,
|
||||||
discardChangesSelected: _discardChangesSelected,
|
discardChangesSelected: _discardChangesSelected,
|
||||||
|
autofocusOnEditor: _isNewNote,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
Reference in New Issue
Block a user