From 59c23c136949afe6c08f601e30af8ae6d40e5949 Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Fri, 23 Feb 2018 12:10:23 +0100 Subject: [PATCH] Scrollbar now uses UI actions instead of keys --- scene/gui/scroll_bar.cpp | 57 ++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 31 deletions(-) diff --git a/scene/gui/scroll_bar.cpp b/scene/gui/scroll_bar.cpp index 95fcda2db33..94e149c8a71 100644 --- a/scene/gui/scroll_bar.cpp +++ b/scene/gui/scroll_bar.cpp @@ -201,52 +201,47 @@ void ScrollBar::_gui_input(Ref p_event) { Ref k = p_event; - if (k.is_valid()) { + if (p_event->is_pressed()) { - if (!k->is_pressed()) - return; + if (p_event->is_action("ui_left")) { - switch (k->get_scancode()) { + if (orientation != HORIZONTAL) + return; + set_value(get_value() - (custom_step >= 0 ? custom_step : get_step())); - case KEY_LEFT: { + } else if (p_event->is_action("ui_right")) { - if (orientation != HORIZONTAL) - return; - set_value(get_value() - (custom_step >= 0 ? custom_step : get_step())); + if (orientation != HORIZONTAL) + return; + set_value(get_value() + (custom_step >= 0 ? custom_step : get_step())); - } break; - case KEY_RIGHT: { + } else if (p_event->is_action("ui_up")) { - if (orientation != HORIZONTAL) - return; - set_value(get_value() + (custom_step >= 0 ? custom_step : get_step())); + if (orientation != VERTICAL) + return; - } break; - case KEY_UP: { + set_value(get_value() - (custom_step >= 0 ? custom_step : get_step())); - if (orientation != VERTICAL) - return; + } else if (p_event->is_action("ui_down")) { - set_value(get_value() - (custom_step >= 0 ? custom_step : get_step())); + if (orientation != VERTICAL) + return; + set_value(get_value() + (custom_step >= 0 ? custom_step : get_step())); - } break; - case KEY_DOWN: { + } else if (k.is_valid()) { - if (orientation != VERTICAL) - return; - set_value(get_value() + (custom_step >= 0 ? custom_step : get_step())); + switch (k->get_scancode()) { + case KEY_HOME: { - } break; - case KEY_HOME: { + set_value(get_min()); - set_value(get_min()); + } break; + case KEY_END: { - } break; - case KEY_END: { + set_value(get_max()); - set_value(get_max()); - - } break; + } break; + } } } }