Преглед на файлове

Use flutter native intents

xuty преди 3 години
родител
ревизия
e6238e2603
променени са 4 файла, в които са добавени 11 реда и са изтрити 27 реда
  1. 5 6
      lib/src/ui/shortcut/actions.dart
  2. 0 13
      lib/src/ui/shortcut/intents.dart
  3. 6 7
      lib/src/ui/shortcut/shortcuts.dart
  4. 0 1
      lib/ui.dart

+ 5 - 6
lib/src/ui/shortcut/actions.dart

@@ -4,7 +4,6 @@ import 'package:xterm/src/core/buffer/cell_offset.dart';
 import 'package:xterm/src/core/buffer/range.dart';
 import 'package:xterm/src/terminal.dart';
 import 'package:xterm/src/ui/controller.dart';
-import 'package:xterm/src/ui/shortcut/intents.dart';
 
 class TerminalActions extends StatelessWidget {
   const TerminalActions({
@@ -26,8 +25,8 @@ class TerminalActions extends StatelessWidget {
 
     return Actions(
       actions: {
-        TerminalPasteIntent: CallbackAction(
-          onInvoke: (Intent intent) async {
+        PasteTextIntent: CallbackAction(
+          onInvoke: (intent) async {
             final data = await Clipboard.getData(Clipboard.kTextPlain);
             final text = data?.text;
             if (text != null) {
@@ -37,8 +36,8 @@ class TerminalActions extends StatelessWidget {
             return null;
           },
         ),
-        TerminalCopyIntent: CallbackAction(
-          onInvoke: (Intent intent) async {
+        CopySelectionTextIntent: CallbackAction(
+          onInvoke: (intent) async {
             final selection = controller.selection;
 
             if (selection == null) {
@@ -52,7 +51,7 @@ class TerminalActions extends StatelessWidget {
             return null;
           },
         ),
-        TerminalSelectAllIntent: CallbackAction(onInvoke: (Intent intent) {
+        SelectAllTextIntent: CallbackAction(onInvoke: (intent) {
           controller.setSelection(
             BufferRange(
               CellOffset(0, terminal.buffer.height - terminal.viewHeight),

+ 0 - 13
lib/src/ui/shortcut/intents.dart

@@ -1,13 +0,0 @@
-import 'package:flutter/widgets.dart';
-
-class TerminalPasteIntent extends Intent {
-  const TerminalPasteIntent();
-}
-
-class TerminalCopyIntent extends Intent {
-  const TerminalCopyIntent();
-}
-
-class TerminalSelectAllIntent extends Intent {
-  const TerminalSelectAllIntent();
-}

+ 6 - 7
lib/src/ui/shortcut/shortcuts.dart

@@ -1,7 +1,6 @@
 import 'package:flutter/foundation.dart';
 import 'package:flutter/services.dart';
 import 'package:flutter/widgets.dart';
-import 'package:xterm/src/ui/shortcut/intents.dart';
 
 Map<ShortcutActivator, Intent> get defaultTerminalShortcuts {
   switch (defaultTargetPlatform) {
@@ -18,18 +17,18 @@ Map<ShortcutActivator, Intent> get defaultTerminalShortcuts {
 
 final _defaultShortcuts = {
   SingleActivator(LogicalKeyboardKey.keyC, control: true):
-      const TerminalCopyIntent(),
+      CopySelectionTextIntent.copy,
   SingleActivator(LogicalKeyboardKey.keyV, control: true):
-      const TerminalPasteIntent(),
+      const PasteTextIntent(SelectionChangedCause.keyboard),
   SingleActivator(LogicalKeyboardKey.keyA, control: true):
-      const TerminalSelectAllIntent(),
+      const SelectAllTextIntent(SelectionChangedCause.keyboard),
 };
 
 final _defaultAppleShortcuts = {
   SingleActivator(LogicalKeyboardKey.keyC, meta: true):
-      const TerminalCopyIntent(),
+      CopySelectionTextIntent.copy,
   SingleActivator(LogicalKeyboardKey.keyV, meta: true):
-      const TerminalPasteIntent(),
+      const PasteTextIntent(SelectionChangedCause.keyboard),
   SingleActivator(LogicalKeyboardKey.keyA, meta: true):
-      const TerminalSelectAllIntent(),
+      const SelectAllTextIntent(SelectionChangedCause.keyboard),
 };

+ 0 - 1
lib/ui.dart

@@ -2,7 +2,6 @@ export 'src/terminal_view.dart';
 export 'src/ui/controller.dart';
 export 'src/ui/cursor_type.dart';
 export 'src/ui/keyboard_visibility.dart';
-export 'src/ui/shortcut/intents.dart';
 export 'src/ui/shortcut/shortcuts.dart';
 export 'src/ui/terminal_text_style.dart';
 export 'src/ui/terminal_theme.dart';