Преглед изворни кода

fix: do not send any mouse input to the terminal if readOnly is true

Georg Wechslberger пре 3 година
родитељ
комит
40de5b5dd3
2 измењених фајлова са 5 додато и 0 уклоњено
  1. 1 0
      lib/src/terminal_view.dart
  2. 4 0
      lib/src/ui/gesture/gesture_handler.dart

+ 1 - 0
lib/src/terminal_view.dart

@@ -252,6 +252,7 @@ class TerminalViewState extends State<TerminalView> {
           widget.onSecondaryTapDown != null ? _onSecondaryTapDown : null,
       onSecondaryTapUp:
           widget.onSecondaryTapUp != null ? _onSecondaryTapUp : null,
+      readOnly: widget.readOnly,
       child: child,
     );
 

+ 4 - 0
lib/src/ui/gesture/gesture_handler.dart

@@ -21,6 +21,7 @@ class TerminalGestureHandler extends StatefulWidget {
     this.onSecondaryTapUp,
     this.onTertiaryTapDown,
     this.onTertiaryTapUp,
+    this.readOnly = false,
   });
 
   final TerminalViewState terminalView;
@@ -43,6 +44,8 @@ class TerminalGestureHandler extends StatefulWidget {
 
   final GestureTapUpCallback? onTertiaryTapUp;
 
+  final bool readOnly;
+
   @override
   State<TerminalGestureHandler> createState() => _TerminalGestureHandlerState();
 }
@@ -77,6 +80,7 @@ class _TerminalGestureHandlerState extends State<TerminalGestureHandler> {
   }
 
   bool get _shouldSendTapEvent =>
+      !widget.readOnly &&
       widget.terminalController.shouldSendPointerInput(PointerInput.tap);
 
   void _tapDown(