diff --git a/lib/features/thread/presentation/thread_view.dart b/lib/features/thread/presentation/thread_view.dart index e86f14fb4..00c48b15f 100644 --- a/lib/features/thread/presentation/thread_view.dart +++ b/lib/features/thread/presentation/thread_view.dart @@ -358,18 +358,25 @@ class ThreadView extends GetWidget } Widget _buildEmailItemDraggable(BuildContext context, PresentationEmail presentationEmail) { - return Draggable>( - data: controller.listEmailDrag, - feedback: _buildFeedBackWidget(context), - childWhenDragging: _buildEmailItemWhenDragging(context, presentationEmail), - dragAnchorStrategy: pointerDragAnchorStrategy, - onDragStarted: () { - controller.calculateDragValue(presentationEmail); - controller.onDragMailBox(true); + return GestureDetector( + behavior: HitTestBehavior.translucent, + onSecondaryTapDown: (details) { + // 1. Use empty callback to disable D&D on mouse right button + // 2. Call `showMenu` to show context menu }, - onDragEnd: (_) => controller.onDragMailBox(false), - onDraggableCanceled: (_,__) => controller.onDragMailBox(false), - child: _buildEmailItemNotDraggable(context, presentationEmail) + child: Draggable>( + data: controller.listEmailDrag, + feedback: _buildFeedBackWidget(context), + childWhenDragging: _buildEmailItemWhenDragging(context, presentationEmail), + dragAnchorStrategy: pointerDragAnchorStrategy, + onDragStarted: () { + controller.calculateDragValue(presentationEmail); + controller.onDragMailBox(true); + }, + onDragEnd: (_) => controller.onDragMailBox(false), + onDraggableCanceled: (_,__) => controller.onDragMailBox(false), + child: _buildEmailItemNotDraggable(context, presentationEmail) + ), ); }