summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnish <anishbhobe@hotmail.com>2018-04-24 18:53:04 +0530
committerAnish <anishbhobe@hotmail.com>2018-04-24 18:53:04 +0530
commit515f2200fb917c7ba7161bb323dccf2cde6db647 (patch)
tree0a270ee3f3e030f159bb46b5c564f66b7a371596
parent1c419531a009f48aa074f9b5f93b98d387c33723 (diff)
Support of CMD+Backspace and CMD+Delete on MacOS.
Adds support for CMD+Backspace, to delete all text before the cursor in the line and CMD+Delete to delete all text after the cursor in line following the typical MacOS text editing workflow Fixes: #18059
-rw-r--r--scene/gui/text_edit.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp
index ff0f5815d0..6dc443f632 100644
--- a/scene/gui/text_edit.cpp
+++ b/scene/gui/text_edit.cpp
@@ -2410,6 +2410,12 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) {
cursor_set_line(line);
cursor_set_column(column);
+#ifdef APPLE_STYLE_KEYS
+ } else if (k->get_command()) {
+ int cursor_current_column = cursor.column;
+ cursor.column = 0;
+ _remove_text(cursor.line, 0, cursor.line, cursor_current_column);
+#endif
} else {
if (cursor.line > 0 && is_line_hidden(cursor.line - 1))
unfold_line(cursor.line - 1);
@@ -2684,7 +2690,11 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) {
next_line = line;
next_column = column;
-
+#ifdef APPLE_STYLE_KEYS
+ } else if (k->get_command()) {
+ next_column = curline_len;
+ next_line = cursor.line;
+#endif
} else {
next_column = cursor.column < curline_len ? (cursor.column + 1) : 0;
}