diff options
-rw-r--r-- | scene/gui/scroll_bar.cpp | 57 |
1 files changed, 26 insertions, 31 deletions
diff --git a/scene/gui/scroll_bar.cpp b/scene/gui/scroll_bar.cpp index 95fcda2db3..94e149c8a7 100644 --- a/scene/gui/scroll_bar.cpp +++ b/scene/gui/scroll_bar.cpp @@ -201,52 +201,47 @@ void ScrollBar::_gui_input(Ref<InputEvent> p_event) { Ref<InputEventKey> k = p_event; - if (k.is_valid()) { + if (p_event->is_pressed()) { - if (!k->is_pressed()) - return; - - switch (k->get_scancode()) { + if (p_event->is_action("ui_left")) { - case KEY_LEFT: { + 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())); + } else if (p_event->is_action("ui_right")) { - } break; - case KEY_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())); + } else if (p_event->is_action("ui_up")) { - } break; - case KEY_UP: { + if (orientation != VERTICAL) + return; - if (orientation != VERTICAL) - return; + set_value(get_value() - (custom_step >= 0 ? custom_step : get_step())); - set_value(get_value() - (custom_step >= 0 ? custom_step : get_step())); + } else if (p_event->is_action("ui_down")) { - } break; - case KEY_DOWN: { + if (orientation != VERTICAL) + return; + 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())); + } else if (k.is_valid()) { - } break; - case KEY_HOME: { + switch (k->get_scancode()) { + 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; + } } } } |