Merge pull request #14748 from YeldhamDev/popupmenu_circleback
Made highlighted item in PopupMenu circle back to the beginning/end when using the keyboard
This commit is contained in:
commit
1ef123c57d
1 changed files with 10 additions and 2 deletions
|
@ -202,7 +202,11 @@ void PopupMenu::_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
|
|
||||||
case KEY_DOWN: {
|
case KEY_DOWN: {
|
||||||
|
|
||||||
for (int i = mouse_over + 1; i < items.size(); i++) {
|
int search_from = mouse_over + 1;
|
||||||
|
if (search_from >= items.size())
|
||||||
|
search_from = 0;
|
||||||
|
|
||||||
|
for (int i = search_from; i < items.size(); i++) {
|
||||||
|
|
||||||
if (i < 0 || i >= items.size())
|
if (i < 0 || i >= items.size())
|
||||||
continue;
|
continue;
|
||||||
|
@ -217,7 +221,11 @@ void PopupMenu::_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
} break;
|
} break;
|
||||||
case KEY_UP: {
|
case KEY_UP: {
|
||||||
|
|
||||||
for (int i = mouse_over - 1; i >= 0; i--) {
|
int search_from = mouse_over - 1;
|
||||||
|
if (search_from < 0)
|
||||||
|
search_from = items.size() - 1;
|
||||||
|
|
||||||
|
for (int i = search_from; i >= 0; i--) {
|
||||||
|
|
||||||
if (i < 0 || i >= items.size())
|
if (i < 0 || i >= items.size())
|
||||||
continue;
|
continue;
|
||||||
|
|
Loading…
Reference in a new issue