Fix LineEdit caret after using arrow key to deselect

This commit is contained in:
Haoyu Qiu 2022-07-06 09:24:29 +08:00 committed by Relintai
parent 756795a486
commit f0f2a9d960

View File

@ -402,12 +402,12 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) {
if (!k->get_alt())
#endif
{
shift_selection_check_pre(k->get_shift());
if (selection.enabled && !k->get_shift()) {
set_cursor_position(selection.begin);
deselect();
break;
}
shift_selection_check_pre(k->get_shift());
}
#ifdef APPLE_STYLE_KEYS
@ -451,11 +451,15 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) {
FALLTHROUGH;
}
case KEY_RIGHT: {
if (selection.enabled && !k->get_shift()) {
set_cursor_position(selection.end);
deselect();
break;
} else {
#ifndef APPLE_STYLE_KEYS
if (!k->get_alt())
#endif
{
if (selection.enabled && !k->get_shift()) {
set_cursor_position(selection.end);
deselect();
break;
}
shift_selection_check_pre(k->get_shift());
}
#ifdef APPLE_STYLE_KEYS