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