From 01eca30575fc208128ed5907c48d2b5bb39c9480 Mon Sep 17 00:00:00 2001 From: dom Date: Sat, 18 Jul 2026 11:53:52 +0800 Subject: [PATCH] text field patch Signed-off-by: dom --- .../widgets/flutter/text_field/text_field.dart | 2 +- lib/pages/search/controller.dart | 9 --------- lib/scripts/patch.ps1 | 4 +++- lib/scripts/text_field.patch | 13 +++++++++++++ 4 files changed, 17 insertions(+), 11 deletions(-) create mode 100644 lib/scripts/text_field.patch diff --git a/lib/common/widgets/flutter/text_field/text_field.dart b/lib/common/widgets/flutter/text_field/text_field.dart index b68feae48..e17ebd48a 100644 --- a/lib/common/widgets/flutter/text_field/text_field.dart +++ b/lib/common/widgets/flutter/text_field/text_field.dart @@ -299,7 +299,7 @@ class RichTextField extends StatefulWidget { this.scrollPadding = const EdgeInsets.all(20.0), this.dragStartBehavior = DragStartBehavior.start, bool? enableInteractiveSelection, - this.selectAllOnFocus, + this.selectAllOnFocus = false, this.selectionControls, this.onTap, this.onTapAlwaysCalled = false, diff --git a/lib/pages/search/controller.dart b/lib/pages/search/controller.dart index 729e445c7..1a69fa357 100644 --- a/lib/pages/search/controller.dart +++ b/lib/pages/search/controller.dart @@ -9,11 +9,9 @@ import 'package:PiliPlus/models_new/search/search_trending/data.dart'; import 'package:PiliPlus/utils/extension/get_ext.dart'; import 'package:PiliPlus/utils/extension/string_ext.dart'; import 'package:PiliPlus/utils/id_utils.dart'; -import 'package:PiliPlus/utils/platform_utils.dart'; import 'package:PiliPlus/utils/storage.dart'; import 'package:PiliPlus/utils/storage_pref.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/scheduler.dart'; import 'package:get/get.dart'; import 'package:stream_transform/stream_transform.dart'; @@ -192,13 +190,6 @@ class SSearchController extends GetxController }, ); searchFocusNode.requestFocus(); - if (PlatformUtils.isDesktop) { - SchedulerBinding.instance.addPostFrameCallback((_) { - controller.selection = TextSelection.collapsed( - offset: controller.text.length, - ); - }); - } } Future queryRecommendList() async { diff --git a/lib/scripts/patch.ps1 b/lib/scripts/patch.ps1 index 81a1088c5..990343da2 100644 --- a/lib/scripts/patch.ps1 +++ b/lib/scripts/patch.ps1 @@ -37,6 +37,8 @@ $SelectableRegionSelectionPatch = "lib/scripts/selectable_region.patch" $EditableTextPatch = "lib/scripts/editable_text.patch" +$TextFieldPatch = "lib/scripts/text_field.patch" + # TODO: remove # https://github.com/flutter/flutter/pull/183261 $SelectableRegionPatch = "lib/scripts/null_safety_for_selectable_region.patch" @@ -69,7 +71,7 @@ $reverts = @() $patches = @($ModalBarrierPatch, $TextSelectionPatch, $MouseCursorPatch, $ImageAnimPatch, $LayoutBuilderPatch, $NavigationDrawerPatch, $PopupMenuPatch, $FABPatch, $SelectableRegionPatch, $SelectableRegionSelectionPatch, - $EditableTextPatch) + $EditableTextPatch, $TextFieldPatch) switch ($platform.ToLower()) { "android" { diff --git a/lib/scripts/text_field.patch b/lib/scripts/text_field.patch new file mode 100644 index 000000000..0a647db4d --- /dev/null +++ b/lib/scripts/text_field.patch @@ -0,0 +1,13 @@ +diff --git a/packages/flutter/lib/src/material/text_field.dart b/packages/flutter/lib/src/material/text_field.dart +index 0420aca37c2..d8eb0a639b4 100644 +--- a/packages/flutter/lib/src/material/text_field.dart ++++ b/packages/flutter/lib/src/material/text_field.dart +@@ -301,7 +301,7 @@ class TextField extends StatefulWidget { + this.scrollPadding = const EdgeInsets.all(20.0), + this.dragStartBehavior = DragStartBehavior.start, + bool? enableInteractiveSelection, +- this.selectAllOnFocus, ++ this.selectAllOnFocus = false, + this.selectionControls, + this.onTap, + this.onTapAlwaysCalled = false,