TextEdit/LineEdit: Handle numpad PageUp, PageDown, Home and End

This commit is contained in:
Ignacio Etcheverry 2016-01-07 22:45:28 +01:00
parent a825cfd932
commit 6541f6418e
2 changed files with 56 additions and 12 deletions

View file

@ -285,12 +285,26 @@ void LineEdit::_input_event(InputEvent p_event) {
}
} break;
case KEY_KP_7: {
if (k.unicode != 0) {
handled = false;
break;
}
// numlock disabled. fallthrough to key_home
}
case KEY_HOME: {
shift_selection_check_pre(k.mod.shift);
set_cursor_pos(0);
shift_selection_check_post(k.mod.shift);
} break;
case KEY_KP_1: {
if (k.unicode != 0) {
handled = false;
break;
}
// numlock disabled. fallthrough to key_end
}
case KEY_END: {
shift_selection_check_pre(k.mod.shift);

View file

@ -1965,6 +1965,13 @@ void TextEdit::_input_event(const InputEvent& p_input_event) {
update();
} break;
case KEY_KP_7: {
if (k.unicode != 0) {
scancode_handled = false;
break;
}
// numlock disabled. fallthrough to key_home
}
#ifdef APPLE_STYLE_KEYS
case KEY_HOME: {
@ -1978,18 +1985,6 @@ void TextEdit::_input_event(const InputEvent& p_input_event) {
_post_shift_selection();
} break;
case KEY_END: {
if (k.mod.shift)
_pre_shift_selection();
cursor_set_line(text.size()-1);
if (k.mod.shift)
_post_shift_selection();
} break;
#else
case KEY_HOME: {
@ -2020,6 +2015,27 @@ void TextEdit::_input_event(const InputEvent& p_input_event) {
completion_hint="";
} break;
#endif
case KEY_KP_1: {
if (k.unicode != 0) {
scancode_handled = false;
break;
}
// numlock disabled. fallthrough to key_end
}
#ifdef APPLE_STYLE_KEYS
case KEY_END: {
if (k.mod.shift)
_pre_shift_selection();
cursor_set_line(text.size()-1);
if (k.mod.shift)
_post_shift_selection();
} break;
#else
case KEY_END: {
if (k.mod.shift)
@ -2037,6 +2053,13 @@ void TextEdit::_input_event(const InputEvent& p_input_event) {
} break;
#endif
case KEY_KP_9: {
if (k.unicode != 0) {
scancode_handled = false;
break;
}
// numlock disabled. fallthrough to key_pageup
}
case KEY_PAGEUP: {
if (k.mod.shift)
@ -2052,6 +2075,13 @@ void TextEdit::_input_event(const InputEvent& p_input_event) {
} break;
case KEY_KP_3: {
if (k.unicode != 0) {
scancode_handled = false;
break;
}
// numlock disabled. fallthrough to key_pageup
}
case KEY_PAGEDOWN: {
if (k.mod.shift)