Skip to content

Commit

Permalink
feat: text message dialog is multiline only (#630)
Browse files Browse the repository at this point in the history
  • Loading branch information
Tienisto committed Aug 23, 2023
1 parent 57f4cfd commit 7f6a42a
Showing 1 changed file with 11 additions and 28 deletions.
39 changes: 11 additions & 28 deletions lib/widget/dialogs/message_input_dialog.dart
Original file line number Diff line number Diff line change
Expand Up @@ -13,45 +13,28 @@ class MessageInputDialog extends StatefulWidget {

class _MessageInputDialogState extends State<MessageInputDialog> {
final _textController = TextEditingController();
bool _multiline = false;

@override
void initState() {
super.initState();
_textController.text = widget.initialText ?? '';
_multiline = _textController.text.contains('\n');
}

@override
void dispose() {
_textController.dispose();
super.dispose();
}

@override
Widget build(BuildContext context) {
return AlertDialog(
title: Text(t.dialogs.messageInput.title),
content: Column(
mainAxisSize: MainAxisSize.min,
children: [
TextFormField(
key: ValueKey('m-$_multiline'),
controller: _textController,
keyboardType: _multiline ? TextInputType.multiline : TextInputType.text,
maxLines: _multiline ? null : 1,
autofocus: true,
onFieldSubmitted: _multiline ? null : (s) => context.pop(s),
),
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
Text(t.dialogs.messageInput.multiline),
Checkbox(
value: _multiline,
onChanged: (b) {
setState(() {
_multiline = b == true;
});
},
),
],
),
],
content: TextFormField(
controller: _textController,
keyboardType: TextInputType.multiline,
maxLines: null,
autofocus: true,
),
actions: [
TextButton(
Expand Down

0 comments on commit 7f6a42a

Please sign in to comment.