summaryrefslogtreecommitdiffstats
path: root/modules/gridmap/editor
diff options
context:
space:
mode:
authorMarius Hanl <mariushanl@web.de>2024-08-31 19:23:34 +0200
committerMarius Hanl <mariushanl@web.de>2024-08-31 21:10:27 +0200
commit74f64aaf98beba74c8c7eedac152c4a50b336994 (patch)
tree3b884a8e71557a9846e8944b46deb1d9b04f4f4b /modules/gridmap/editor
parent61598c5c88d95b96811d386cb20d714c35f4c6d7 (diff)
downloadredot-engine-74f64aaf98beba74c8c7eedac152c4a50b336994.tar.gz
Use InputMap actions consistently across all LineEdit's that filter an underlying Tree or ItemList.
- Instead of checking for Key::UP, Key::DOWN, Key::PAGEUP, Key::PAGEDOWN etc., we rather check for the action like 'ui_up' or 'ui_down'. - Also use AcceptDialog's 'register_text_enter' functionality to consistently close a dialog when ENTER is pressed while the LineEdit has focus (instead of redirecting ENTER keys to e.g. the underlying Tree). - Unify the LineEdit filter behavior for the SceneTreeDialog and corresponding usages - Improve OK Button disablement (something should be selected)
Diffstat (limited to 'modules/gridmap/editor')
-rw-r--r--modules/gridmap/editor/grid_map_editor_plugin.cpp15
-rw-r--r--modules/gridmap/editor/grid_map_editor_plugin.h2
2 files changed, 9 insertions, 8 deletions
diff --git a/modules/gridmap/editor/grid_map_editor_plugin.cpp b/modules/gridmap/editor/grid_map_editor_plugin.cpp
index ea63e07104..07848c61db 100644
--- a/modules/gridmap/editor/grid_map_editor_plugin.cpp
+++ b/modules/gridmap/editor/grid_map_editor_plugin.cpp
@@ -815,13 +815,14 @@ void GridMapEditor::_text_changed(const String &p_text) {
update_palette();
}
-void GridMapEditor::_sbox_input(const Ref<InputEvent> &p_ie) {
- const Ref<InputEventKey> k = p_ie;
-
- if (k.is_valid() && (k->get_keycode() == Key::UP || k->get_keycode() == Key::DOWN || k->get_keycode() == Key::PAGEUP || k->get_keycode() == Key::PAGEDOWN)) {
- // Forward the key input to the ItemList so it can be scrolled
- mesh_library_palette->gui_input(k);
- search_box->accept_event();
+void GridMapEditor::_sbox_input(const Ref<InputEvent> &p_event) {
+ // Redirect navigational key events to the item list.
+ Ref<InputEventKey> key = p_event;
+ if (key.is_valid()) {
+ if (key->is_action("ui_up", true) || key->is_action("ui_down", true) || key->is_action("ui_page_up") || key->is_action("ui_page_down")) {
+ mesh_library_palette->gui_input(key);
+ search_box->accept_event();
+ }
}
}
diff --git a/modules/gridmap/editor/grid_map_editor_plugin.h b/modules/gridmap/editor/grid_map_editor_plugin.h
index cfa0f0c35c..4294c93c93 100644
--- a/modules/gridmap/editor/grid_map_editor_plugin.h
+++ b/modules/gridmap/editor/grid_map_editor_plugin.h
@@ -199,7 +199,7 @@ class GridMapEditor : public VBoxContainer {
void _update_theme();
void _text_changed(const String &p_text);
- void _sbox_input(const Ref<InputEvent> &p_ie);
+ void _sbox_input(const Ref<InputEvent> &p_event);
void _mesh_library_palette_input(const Ref<InputEvent> &p_ie);
void _icon_size_changed(float p_value);