[3.2][macOS] Command-backspace in line edit
Make command-backspace in line edit work like other macOS applications. If there is a selection, command-backspace deletes the selection. If there isn't a selection, command-backspace deletes from the cursor to the beginning of the line edit. This addresses part of godotengine/godot#23548
This commit is contained in:
parent
ae59e22cdd
commit
5bbb15418f
|
@ -285,6 +285,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;
|
||||||
|
|
Loading…
Reference in New Issue