TF-2717 Disable delete in keyboard shortcut on mobile

This commit is contained in:
dab246
2024-04-01 10:19:51 +07:00
committed by Dat H. Pham
parent 3e5e0a8a64
commit 1e9895a00c
4 changed files with 26 additions and 2 deletions
@@ -155,6 +155,9 @@ class ComposerController extends BaseController with DragDropFileMixin {
FocusNode? ccAddressFocusNode;
FocusNode? bccAddressFocusNode;
FocusNode? searchIdentitiesFocusNode;
FocusNode? toAddressFocusNodeKeyboard;
FocusNode? ccAddressFocusNodeKeyboard;
FocusNode? bccAddressFocusNodeKeyboard;
StreamSubscription<html.Event>? _subscriptionOnBeforeUnload;
StreamSubscription<html.Event>? _subscriptionOnDragEnter;
@@ -249,6 +252,12 @@ class ComposerController extends BaseController with DragDropFileMixin {
ccAddressFocusNode = null;
bccAddressFocusNode?.dispose();
bccAddressFocusNode = null;
toAddressFocusNodeKeyboard?.dispose();
toAddressFocusNodeKeyboard = null;
ccAddressFocusNodeKeyboard?.dispose();
ccAddressFocusNodeKeyboard = null;
bccAddressFocusNodeKeyboard?.dispose();
bccAddressFocusNodeKeyboard = null;
searchIdentitiesFocusNode?.dispose();
searchIdentitiesFocusNode = null;
subjectEmailInputController.dispose();
@@ -417,6 +426,9 @@ class ComposerController extends BaseController with DragDropFileMixin {
ccAddressFocusNode = FocusNode();
bccAddressFocusNode = FocusNode();
searchIdentitiesFocusNode = FocusNode();
toAddressFocusNodeKeyboard = FocusNode();
ccAddressFocusNodeKeyboard = FocusNode();
bccAddressFocusNodeKeyboard = FocusNode();
subjectEmailInputFocusNode?.addListener(() {
log('ComposerController::createFocusNodeInput():subjectEmailInputFocusNode: ${subjectEmailInputFocusNode?.hasFocus}');
@@ -1313,7 +1325,6 @@ class ComposerController extends BaseController with DragDropFileMixin {
}
void displayScreenTypeComposerAction(ScreenDisplayMode displayMode) async {
createFocusNodeInput();
_updateTextForEditor();
screenDisplayMode.value = displayMode;
@@ -95,6 +95,7 @@ class ComposerView extends GetWidget<ComposerController> {
expandMode: controller.toAddressExpandMode.value,
controller: controller.toEmailAddressController,
focusNode: controller.toAddressFocusNode,
focusNodeKeyboard: controller.toAddressFocusNodeKeyboard,
keyTagEditor: controller.keyToEmailTagEditor,
isInitial: controller.isInitialRecipient.value,
padding: ComposerStyle.mobileRecipientPadding,
@@ -117,6 +118,7 @@ class ComposerView extends GetWidget<ComposerController> {
expandMode: controller.ccAddressExpandMode.value,
controller: controller.ccEmailAddressController,
focusNode: controller.ccAddressFocusNode,
focusNodeKeyboard: controller.ccAddressFocusNodeKeyboard,
keyTagEditor: controller.keyCcEmailTagEditor,
isInitial: controller.isInitialRecipient.value,
nextFocusNode: controller.getNextFocusOfCcEmailAddress(),
@@ -139,6 +141,7 @@ class ComposerView extends GetWidget<ComposerController> {
expandMode: controller.bccAddressExpandMode.value,
controller: controller.bccEmailAddressController,
focusNode: controller.bccAddressFocusNode,
focusNodeKeyboard: controller.bccAddressFocusNodeKeyboard,
keyTagEditor: controller.keyBccEmailTagEditor,
isInitial: controller.isInitialRecipient.value,
nextFocusNode: controller.subjectEmailInputFocusNode,
@@ -319,6 +322,7 @@ class ComposerView extends GetWidget<ComposerController> {
expandMode: controller.toAddressExpandMode.value,
controller: controller.toEmailAddressController,
focusNode: controller.toAddressFocusNode,
focusNodeKeyboard: controller.toAddressFocusNodeKeyboard,
keyTagEditor: controller.keyToEmailTagEditor,
isInitial: controller.isInitialRecipient.value,
padding: ComposerStyle.desktopRecipientPadding,
@@ -341,6 +345,7 @@ class ComposerView extends GetWidget<ComposerController> {
expandMode: controller.ccAddressExpandMode.value,
controller: controller.ccEmailAddressController,
focusNode: controller.ccAddressFocusNode,
focusNodeKeyboard: controller.ccAddressFocusNodeKeyboard,
keyTagEditor: controller.keyCcEmailTagEditor,
isInitial: controller.isInitialRecipient.value,
nextFocusNode: controller.getNextFocusOfCcEmailAddress(),
@@ -363,6 +368,7 @@ class ComposerView extends GetWidget<ComposerController> {
expandMode: controller.bccAddressExpandMode.value,
controller: controller.bccEmailAddressController,
focusNode: controller.bccAddressFocusNode,
focusNodeKeyboard: controller.bccAddressFocusNodeKeyboard,
keyTagEditor: controller.keyBccEmailTagEditor,
isInitial: controller.isInitialRecipient.value,
nextFocusNode: controller.subjectEmailInputFocusNode,
@@ -582,6 +588,7 @@ class ComposerView extends GetWidget<ComposerController> {
expandMode: controller.toAddressExpandMode.value,
controller: controller.toEmailAddressController,
focusNode: controller.toAddressFocusNode,
focusNodeKeyboard: controller.toAddressFocusNodeKeyboard,
keyTagEditor: controller.keyToEmailTagEditor,
isInitial: controller.isInitialRecipient.value,
padding: ComposerStyle.tabletRecipientPadding,
@@ -604,6 +611,7 @@ class ComposerView extends GetWidget<ComposerController> {
expandMode: controller.ccAddressExpandMode.value,
controller: controller.ccEmailAddressController,
focusNode: controller.ccAddressFocusNode,
focusNodeKeyboard: controller.ccAddressFocusNodeKeyboard,
keyTagEditor: controller.keyCcEmailTagEditor,
isInitial: controller.isInitialRecipient.value,
nextFocusNode: controller.getNextFocusOfCcEmailAddress(),
@@ -626,6 +634,7 @@ class ComposerView extends GetWidget<ComposerController> {
expandMode: controller.bccAddressExpandMode.value,
controller: controller.bccEmailAddressController,
focusNode: controller.bccAddressFocusNode,
focusNodeKeyboard: controller.bccAddressFocusNodeKeyboard,
keyTagEditor: controller.keyBccEmailTagEditor,
isInitial: controller.isInitialRecipient.value,
nextFocusNode: controller.subjectEmailInputFocusNode,
@@ -48,6 +48,7 @@ class RecipientComposerWidget extends StatefulWidget {
final PrefixRecipientState bccState;
final bool? isInitial;
final FocusNode? focusNode;
final FocusNode? focusNodeKeyboard;
final GlobalKey? keyTagEditor;
final FocusNode? nextFocusNode;
final TextEditingController? controller;
@@ -89,6 +90,7 @@ class RecipientComposerWidget extends StatefulWidget {
this.onFocusNextAddressAction,
this.onRemoveDraggableEmailAddressAction,
this.onEnableAllRecipientsInputAction,
this.focusNodeKeyboard,
});
@override
@@ -164,6 +166,7 @@ class _RecipientComposerWidgetState extends State<RecipientComposerWidget> {
controller: widget.controller,
focusNode: widget.focusNode,
enableBorder: _isDragging,
focusNodeKeyboard: widget.focusNodeKeyboard,
borderRadius: RecipientComposerWidgetStyle.enableBorderRadius,
enableBorderColor: RecipientComposerWidgetStyle.enableBorderColor,
keyboardType: TextInputType.emailAddress,
@@ -244,6 +247,7 @@ class _RecipientComposerWidgetState extends State<RecipientComposerWidget> {
length: _collapsedListEmailAddress.length,
controller: widget.controller,
focusNode: widget.focusNode,
focusNodeKeyboard: widget.focusNodeKeyboard,
keyboardType: TextInputType.emailAddress,
textInputAction: TextInputAction.done,
debounceDuration: RecipientComposerWidgetStyle.suggestionDebounceDuration,
+1 -1
View File
@@ -1738,7 +1738,7 @@ packages:
description:
path: "."
ref: master
resolved-ref: dd81c8f1e870bacdffddda5b360c5fbe8a188bbb
resolved-ref: "0fb93e1ea5cff5b1065deeb46193d6fe0db7403e"
url: "https://github.com/dab246/super_tag_editor.git"
source: git
version: "0.2.0"