diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp index b188e1faca3..43fc5810237 100644 --- a/editor/code_editor.cpp +++ b/editor/code_editor.cpp @@ -122,24 +122,12 @@ void FindReplaceBar::unhandled_input(const Ref &p_event) { ERR_FAIL_COND(p_event.is_null()); Ref k = p_event; - if (!k.is_valid() || !k->is_pressed()) { - return; - } - Control *focus_owner = get_viewport()->gui_get_focus_owner(); - if (text_editor->has_focus() || (focus_owner && vbc_lineedit->is_ancestor_of(focus_owner))) { - bool accepted = true; + if (k.is_valid() && k->is_action_pressed(SNAME("ui_cancel"), false, true)) { + Control *focus_owner = get_viewport()->gui_get_focus_owner(); - switch (k->get_keycode()) { - case Key::ESCAPE: { - _hide_bar(); - } break; - default: { - accepted = false; - } break; - } - - if (accepted) { + if (text_editor->has_focus() || (focus_owner && vbc_lineedit->is_ancestor_of(focus_owner))) { + _hide_bar(); accept_event(); } } diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp index aee35743984..2ddde4e507f 100644 --- a/editor/editor_help.cpp +++ b/editor/editor_help.cpp @@ -2698,22 +2698,10 @@ void FindBar::unhandled_input(const Ref &p_event) { ERR_FAIL_COND(p_event.is_null()); Ref k = p_event; - if (k.is_valid()) { - if (k->is_pressed() && (rich_text_label->has_focus() || is_ancestor_of(get_viewport()->gui_get_focus_owner()))) { - bool accepted = true; - - switch (k->get_keycode()) { - case Key::ESCAPE: { - _hide_bar(); - } break; - default: { - accepted = false; - } break; - } - - if (accepted) { - accept_event(); - } + if (k.is_valid() && k->is_action_pressed(SNAME("ui_cancel"), false, true)) { + if (rich_text_label->has_focus() || is_ancestor_of(get_viewport()->gui_get_focus_owner())) { + _hide_bar(); + accept_event(); } } } diff --git a/editor/editor_layouts_dialog.cpp b/editor/editor_layouts_dialog.cpp index 31228ab57df..1f7172db575 100644 --- a/editor/editor_layouts_dialog.cpp +++ b/editor/editor_layouts_dialog.cpp @@ -42,25 +42,15 @@ void EditorLayoutsDialog::_line_gui_input(const Ref &p_event) { Ref k = p_event; if (k.is_valid()) { - if (!k->is_pressed()) { - return; - } - - switch (k->get_keycode()) { - case Key::KP_ENTER: - case Key::ENTER: { - if (get_hide_on_ok()) { - hide(); - } - ok_pressed(); - set_input_as_handled(); - } break; - case Key::ESCAPE: { + if (k->is_action_pressed(SNAME("ui_accept"), false, true)) { + if (get_hide_on_ok()) { hide(); - set_input_as_handled(); - } break; - default: - break; + } + ok_pressed(); + set_input_as_handled(); + } else if (k->is_action_pressed(SNAME("ui_cancel"), false, true)) { + hide(); + set_input_as_handled(); } } } diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index 2a04f7b174b..368c81a0f49 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -2415,7 +2415,7 @@ bool CanvasItemEditor::_gui_input_select(const Ref &p_event) { } } - if (k.is_valid() && k->is_pressed() && k->get_keycode() == Key::ESCAPE && drag_type == DRAG_NONE && tool == TOOL_SELECT) { + if (k.is_valid() && k->is_action_pressed(SNAME("ui_cancel"), false, true) && drag_type == DRAG_NONE && tool == TOOL_SELECT) { // Unselect everything editor_selection->clear(); viewport->queue_redraw(); diff --git a/editor/plugins/theme_editor_plugin.cpp b/editor/plugins/theme_editor_plugin.cpp index 715db9cf511..09053db122b 100644 --- a/editor/plugins/theme_editor_plugin.cpp +++ b/editor/plugins/theme_editor_plugin.cpp @@ -1834,19 +1834,13 @@ void ThemeItemEditorDialog::_edit_theme_item_gui_input(const Ref &p_ return; } - switch (k->get_keycode()) { - case Key::KP_ENTER: - case Key::ENTER: { - _confirm_edit_theme_item(); - edit_theme_item_dialog->hide(); - edit_theme_item_dialog->set_input_as_handled(); - } break; - case Key::ESCAPE: { - edit_theme_item_dialog->hide(); - edit_theme_item_dialog->set_input_as_handled(); - } break; - default: - break; + if (k->is_action_pressed(SNAME("ui_accept"), false, true)) { + _confirm_edit_theme_item(); + edit_theme_item_dialog->hide(); + edit_theme_item_dialog->set_input_as_handled(); + } else if (k->is_action_pressed(SNAME("ui_cancel"), false, true)) { + edit_theme_item_dialog->hide(); + edit_theme_item_dialog->set_input_as_handled(); } } } diff --git a/scene/gui/dialogs.cpp b/scene/gui/dialogs.cpp index 760c86b2cc0..40be9fbe3cd 100644 --- a/scene/gui/dialogs.cpp +++ b/scene/gui/dialogs.cpp @@ -39,7 +39,7 @@ void AcceptDialog::_input_from_window(const Ref &p_event) { Ref key = p_event; - if (close_on_escape && key.is_valid() && key->is_pressed() && key->get_keycode() == Key::ESCAPE) { + if (close_on_escape && key.is_valid() && key->is_action_pressed(SNAME("ui_cancel"), false, true)) { _cancel_pressed(); } } diff --git a/scene/gui/popup.cpp b/scene/gui/popup.cpp index 432004dedc6..00ed457201d 100644 --- a/scene/gui/popup.cpp +++ b/scene/gui/popup.cpp @@ -36,7 +36,7 @@ void Popup::_input_from_window(const Ref &p_event) { Ref key = p_event; - if (get_flag(FLAG_POPUP) && key.is_valid() && key->is_pressed() && key->get_keycode() == Key::ESCAPE) { + if (get_flag(FLAG_POPUP) && key.is_valid() && key->is_action_pressed(SNAME("ui_cancel"), false, true)) { _close_pressed(); } }