Przeglądaj źródła

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

Georg Wechslberger 3 lat temu
rodzic
commit
40de5b5dd3

+ 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(