Make sure the shortcut key respects the context in `TileSetAtlasSourceEditor`

(cherry picked from commit fec731bf33)
This commit is contained in:
Rindbee 2023-07-02 06:40:14 +08:00 committed by Yuri Sizov
parent 80105226c2
commit 836913ce7a
2 changed files with 6 additions and 6 deletions

View File

@ -1693,7 +1693,7 @@ void TileSetAtlasSourceEditor::_menu_option(int p_option) {
} }
} }
void TileSetAtlasSourceEditor::_unhandled_key_input(const Ref<InputEvent> &p_event) { void TileSetAtlasSourceEditor::shortcut_input(const Ref<InputEvent> &p_event) {
// Check for shortcuts. // Check for shortcuts.
if (ED_IS_SHORTCUT("tiles_editor/delete_tile", p_event)) { if (ED_IS_SHORTCUT("tiles_editor/delete_tile", p_event)) {
if (tools_button_group->get_pressed_button() == tool_select_button && !selection.is_empty()) { 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() { 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); 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"))); ADD_SIGNAL(MethodInfo("source_id_changed", PropertyInfo(Variant::INT, "source_id")));
} }
TileSetAtlasSourceEditor::TileSetAtlasSourceEditor() { TileSetAtlasSourceEditor::TileSetAtlasSourceEditor() {
set_process_unhandled_key_input(true); set_shortcut_context(this);
set_process_shortcut_input(true);
set_process_internal(true); set_process_internal(true);
// Middle panel. // Middle panel.

View File

@ -257,9 +257,6 @@ private:
void _update_atlas_view(); void _update_atlas_view();
void _update_toolbar(); void _update_toolbar();
// -- input events --
void _unhandled_key_input(const Ref<InputEvent> &p_event);
// -- Misc -- // -- Misc --
void _auto_create_tiles(); void _auto_create_tiles();
void _auto_remove_tiles(); void _auto_remove_tiles();
@ -275,6 +272,9 @@ protected:
void _notification(int p_what); void _notification(int p_what);
static void _bind_methods(); static void _bind_methods();
// -- input events --
virtual void shortcut_input(const Ref<InputEvent> &p_event) override;
public: public:
void edit(Ref<TileSet> p_tile_set, TileSetAtlasSource *p_tile_set_source, int p_source_id); void edit(Ref<TileSet> p_tile_set, TileSetAtlasSource *p_tile_set_source, int p_source_id);
void init_source(); void init_source();