fix desktop dialog request focus

Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
21pages 2023-01-28 17:10:40 +08:00
parent 3e4a867115
commit 19f04f29c0
3 changed files with 7 additions and 5 deletions
flutter/lib
common.dart
common/widgets
desktop/widgets

@ -608,12 +608,11 @@ class CustomAlertDialog extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
FocusNode focusNode = FocusNode(); // request focus
// request focus if there is no focused FocusNode in the dialog
Future.delayed(Duration.zero, () {
if (!focusNode.hasFocus) focusNode.requestFocus();
});
FocusScopeNode scopeNode = FocusScopeNode(); FocusScopeNode scopeNode = FocusScopeNode();
Future.delayed(Duration.zero, () {
if (!scopeNode.hasFocus) scopeNode.requestFocus();
});
return FocusScope( return FocusScope(
node: scopeNode, node: scopeNode,
autofocus: true, autofocus: true,

@ -666,6 +666,8 @@ Future<bool?> verificationCodeDialog(UserPayload? user) async {
child: const LinearProgressIndicator()), child: const LinearProgressIndicator()),
], ],
), ),
onCancel: close,
onSubmit: onVerify,
actions: [ actions: [
dialogButton("Cancel", onPressed: close, isOutline: true), dialogButton("Cancel", onPressed: close, isOutline: true),
dialogButton("Verify", onPressed: onVerify), dialogButton("Verify", onPressed: onVerify),

@ -653,6 +653,7 @@ class _RemoteMenubarState extends State<RemoteMenubar> {
)); ));
} }
if (pi.platform != kPeerPlatformAndroid && if (pi.platform != kPeerPlatformAndroid &&
pi.platform != kPeerPlatformMacOS && // unsupport yet
version_cmp(peer_version, '1.2.0') >= 0) { version_cmp(peer_version, '1.2.0') >= 0) {
displayMenu.add(MenuEntryButton<String>( displayMenu.add(MenuEntryButton<String>(
childBuilder: (TextStyle? style) => Text( childBuilder: (TextStyle? style) => Text(