diff --git a/lib/views/ui/homeserver_picker_ui.dart b/lib/views/ui/homeserver_picker_ui.dart index 80cdb29f..c545bdbf 100644 --- a/lib/views/ui/homeserver_picker_ui.dart +++ b/lib/views/ui/homeserver_picker_ui.dart @@ -29,7 +29,8 @@ class HomeserverPickerUI extends StatelessWidget { padding: EdgeInsets.zero, onChanged: (s) => controller.domain = s, readOnly: !AppConfig.allowOtherHomeservers, - onSubmit: (_) => controller.checkHomeserverAction, + onSubmit: (_) => controller.checkHomeserverAction(), + unfocusOnClear: false, ), elevation: 0, ), diff --git a/lib/views/widgets/default_app_bar_search_field.dart b/lib/views/widgets/default_app_bar_search_field.dart index 63bbb5ac..f72fa0b3 100644 --- a/lib/views/widgets/default_app_bar_search_field.dart +++ b/lib/views/widgets/default_app_bar_search_field.dart @@ -14,6 +14,7 @@ class DefaultAppBarSearchField extends StatefulWidget { final EdgeInsets padding; final bool readOnly; final Widget prefixIcon; + final bool unfocusOnClear; DefaultAppBarSearchField({ Key key, @@ -27,6 +28,7 @@ class DefaultAppBarSearchField extends StatefulWidget { this.padding, this.readOnly = false, this.prefixIcon, + this.unfocusOnClear = true, }) : super(key: key); @override @@ -105,7 +107,7 @@ class DefaultAppBarSearchFieldState extends State { onPressed: () { _searchController.clear(); widget.onChanged?.call(''); - _focusNode.unfocus(); + if (widget.unfocusOnClear) _focusNode.unfocus(); }, ) : widget.suffix,