mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
feat: copy & paste key event handlers
This commit is contained in:
parent
843121812c
commit
ee25f032db
@ -7,17 +7,18 @@ import 'package:flowy_editor/render/editor/editor_entry.dart';
|
|||||||
import 'package:flowy_editor/render/rich_text/bulleted_list_text.dart';
|
import 'package:flowy_editor/render/rich_text/bulleted_list_text.dart';
|
||||||
import 'package:flowy_editor/render/rich_text/checkbox_text.dart';
|
import 'package:flowy_editor/render/rich_text/checkbox_text.dart';
|
||||||
import 'package:flowy_editor/render/rich_text/flowy_rich_text.dart';
|
import 'package:flowy_editor/render/rich_text/flowy_rich_text.dart';
|
||||||
|
import 'package:flowy_editor/service/input_service.dart';
|
||||||
|
import 'package:flowy_editor/service/internal_key_event_handlers/enter_in_edge_of_text_node_handler.dart';
|
||||||
|
import 'package:flowy_editor/service/render_plugin_service.dart';
|
||||||
|
import 'package:flowy_editor/service/internal_key_event_handlers/arrow_keys_handler.dart';
|
||||||
|
import 'package:flowy_editor/service/internal_key_event_handlers/copy_paste_handler.dart';
|
||||||
|
import 'package:flowy_editor/service/internal_key_event_handlers/delete_nodes_handler.dart';
|
||||||
|
import 'package:flowy_editor/service/internal_key_event_handlers/shortcut_handler.dart';
|
||||||
|
import 'package:flowy_editor/service/keyboard_service.dart';
|
||||||
|
import 'package:flowy_editor/service/selection_service.dart';
|
||||||
import 'package:flowy_editor/render/rich_text/heading_text.dart';
|
import 'package:flowy_editor/render/rich_text/heading_text.dart';
|
||||||
import 'package:flowy_editor/render/rich_text/number_list_text.dart';
|
import 'package:flowy_editor/render/rich_text/number_list_text.dart';
|
||||||
import 'package:flowy_editor/render/rich_text/quoted_text.dart';
|
import 'package:flowy_editor/render/rich_text/quoted_text.dart';
|
||||||
import 'package:flowy_editor/service/input_service.dart';
|
|
||||||
import 'package:flowy_editor/service/internal_key_event_handlers/arrow_keys_handler.dart';
|
|
||||||
import 'package:flowy_editor/service/internal_key_event_handlers/delete_nodes_handler.dart';
|
|
||||||
import 'package:flowy_editor/service/internal_key_event_handlers/enter_in_edge_of_text_node_handler.dart';
|
|
||||||
import 'package:flowy_editor/service/internal_key_event_handlers/shortcut_handler.dart';
|
|
||||||
import 'package:flowy_editor/service/keyboard_service.dart';
|
|
||||||
import 'package:flowy_editor/service/render_plugin_service.dart';
|
|
||||||
import 'package:flowy_editor/service/selection_service.dart';
|
|
||||||
import 'package:flowy_editor/service/toolbar_service.dart';
|
import 'package:flowy_editor/service/toolbar_service.dart';
|
||||||
|
|
||||||
NodeWidgetBuilders defaultBuilders = {
|
NodeWidgetBuilders defaultBuilders = {
|
||||||
@ -35,6 +36,7 @@ List<FlowyKeyEventHandler> defaultKeyEventHandler = [
|
|||||||
slashShortcutHandler,
|
slashShortcutHandler,
|
||||||
flowyDeleteNodesHandler,
|
flowyDeleteNodesHandler,
|
||||||
arrowKeysHandler,
|
arrowKeysHandler,
|
||||||
|
copyPasteKeysHandler,
|
||||||
enterInEdgeOfTextNodeHandler,
|
enterInEdgeOfTextNodeHandler,
|
||||||
updateTextStyleByCommandXHandler,
|
updateTextStyleByCommandXHandler,
|
||||||
];
|
];
|
||||||
|
@ -0,0 +1,19 @@
|
|||||||
|
import 'package:flowy_editor/service/keyboard_service.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
|
|
||||||
|
FlowyKeyEventHandler copyPasteKeysHandler = (editorState, event) {
|
||||||
|
if (event.isMetaPressed && event.logicalKey == LogicalKeyboardKey.keyC) {
|
||||||
|
debugPrint("copy");
|
||||||
|
return KeyEventResult.handled;
|
||||||
|
}
|
||||||
|
if (event.isMetaPressed && event.logicalKey == LogicalKeyboardKey.keyV) {
|
||||||
|
debugPrint("paste");
|
||||||
|
return KeyEventResult.handled;
|
||||||
|
}
|
||||||
|
if (event.isMetaPressed && event.logicalKey == LogicalKeyboardKey.keyX) {
|
||||||
|
debugPrint("cut");
|
||||||
|
return KeyEventResult.handled;
|
||||||
|
}
|
||||||
|
return KeyEventResult.ignored;
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user