From fec731bf33ccec46549840cca1d48fdbdf36a7b7 Mon Sep 17 00:00:00 2001 From: Rindbee Date: Sun, 2 Jul 2023 06:40:14 +0800 Subject: [PATCH] Make sure the shortcut key respects the context in `TileSetAtlasSourceEditor` --- editor/plugins/tiles/tile_set_atlas_source_editor.cpp | 6 +++--- editor/plugins/tiles/tile_set_atlas_source_editor.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/editor/plugins/tiles/tile_set_atlas_source_editor.cpp b/editor/plugins/tiles/tile_set_atlas_source_editor.cpp index c71dcf10034a..6ec45b1f956b 100644 --- a/editor/plugins/tiles/tile_set_atlas_source_editor.cpp +++ b/editor/plugins/tiles/tile_set_atlas_source_editor.cpp @@ -1693,7 +1693,7 @@ void TileSetAtlasSourceEditor::_menu_option(int p_option) { } } -void TileSetAtlasSourceEditor::_unhandled_key_input(const Ref &p_event) { +void TileSetAtlasSourceEditor::shortcut_input(const Ref &p_event) { // Check for shortcuts. if (ED_IS_SHORTCUT("tiles_editor/delete_tile", p_event)) { if (tools_button_group->get_pressed_button() == tool_select_button && !selection.is_empty()) { @@ -2418,14 +2418,14 @@ void TileSetAtlasSourceEditor::_notification(int p_what) { } void TileSetAtlasSourceEditor::_bind_methods() { - ClassDB::bind_method(D_METHOD("_unhandled_key_input"), &TileSetAtlasSourceEditor::_unhandled_key_input); ClassDB::bind_method(D_METHOD("_set_selection_from_array"), &TileSetAtlasSourceEditor::_set_selection_from_array); ADD_SIGNAL(MethodInfo("source_id_changed", PropertyInfo(Variant::INT, "source_id"))); } TileSetAtlasSourceEditor::TileSetAtlasSourceEditor() { - set_process_unhandled_key_input(true); + set_shortcut_context(this); + set_process_shortcut_input(true); set_process_internal(true); // Middle panel. diff --git a/editor/plugins/tiles/tile_set_atlas_source_editor.h b/editor/plugins/tiles/tile_set_atlas_source_editor.h index f8dbbc4b3fb7..65a2ba33f65d 100644 --- a/editor/plugins/tiles/tile_set_atlas_source_editor.h +++ b/editor/plugins/tiles/tile_set_atlas_source_editor.h @@ -257,9 +257,6 @@ class TileSetAtlasSourceEditor : public HSplitContainer { void _update_atlas_view(); void _update_toolbar(); - // -- input events -- - void _unhandled_key_input(const Ref &p_event); - // -- Misc -- void _auto_create_tiles(); void _auto_remove_tiles(); @@ -275,6 +272,9 @@ class TileSetAtlasSourceEditor : public HSplitContainer { void _notification(int p_what); static void _bind_methods(); + // -- input events -- + virtual void shortcut_input(const Ref &p_event) override; + public: void edit(Ref p_tile_set, TileSetAtlasSource *p_tile_set_source, int p_source_id); void init_source();