Browse Source

Merge pull request #39659 from asmaloney/macos-command-backspace

[macOS] Command-backspace in line edit
Rémi Verschelde 5 years ago
parent
commit
1cd8e835be
1 changed files with 16 additions and 0 deletions
  1. 16 0
      scene/gui/line_edit.cpp

+ 16 - 0
scene/gui/line_edit.cpp

@@ -274,6 +274,22 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) {
 					set_cursor_position(text.length());
 					set_cursor_position(text.length());
 					shift_selection_check_post(k->get_shift());
 					shift_selection_check_post(k->get_shift());
 				} break;
 				} break;
+				case (KEY_BACKSPACE): {
+					if (!editable)
+						break;
+
+					// If selected, delete the selection
+					if (selection.enabled) {
+						selection_delete();
+						break;
+					}
+
+					// Otherwise delete from cursor to beginning of text edit
+					int current_pos = get_cursor_position();
+					if (current_pos != 0) {
+						delete_text(0, current_pos);
+					}
+				} break;
 #endif
 #endif
 				default: {
 				default: {
 					handled = false;
 					handled = false;