diff options
| author | Andreas Haas | 2017-02-13 07:57:46 +0100 |
|---|---|---|
| committer | Rémi Verschelde | 2017-03-18 20:08:25 +0100 |
| commit | 12a1b517ca87f13cd19150a131791bbc16c064ab (patch) | |
| tree | af172469481084407b4c1b25976138afa0b0657c | |
| parent | 919c1d627f33a0fea0363756aaf22e5b018bd2f8 (diff) | |
| download | godot-12a1b517ca87f13cd19150a131791bbc16c064ab.tar.gz godot-12a1b517ca87f13cd19150a131791bbc16c064ab.tar.zst godot-12a1b517ca87f13cd19150a131791bbc16c064ab.zip | |
ProjectSettings: InputMap dialog fixes
Now the selection jumps to the correct action after a new event has been added.
Also sets the default device id for Joypad button events to 0.
(cherry picked from commit 92ac7067e6a3ff297d3149c1e97ca83cad668c46)
| -rw-r--r-- | tools/editor/project_settings.cpp | 14 | ||||
| -rw-r--r-- | tools/editor/project_settings.h | 2 |
2 files changed, 11 insertions, 5 deletions
diff --git a/tools/editor/project_settings.cpp b/tools/editor/project_settings.cpp index e41c6bdcd..38e7a5369 100644 --- a/tools/editor/project_settings.cpp +++ b/tools/editor/project_settings.cpp @@ -245,7 +245,7 @@ void ProjectSettings::_device_input_add() { undo_redo->add_undo_method(this,"_settings_changed"); undo_redo->commit_action(); - _show_last_added(ie); + _show_last_added(ie, name); } @@ -283,12 +283,14 @@ void ProjectSettings::_press_a_key_confirm() { undo_redo->add_undo_method(this,"_settings_changed"); undo_redo->commit_action(); - _show_last_added(ie); + _show_last_added(ie, name); } -void ProjectSettings::_show_last_added(const InputEvent& p_event) { +void ProjectSettings::_show_last_added(const InputEvent& p_event, const String &p_name) { TreeItem *r = input_editor->get_root(); + String name = p_name; + name.erase(0,6); if (!r) return; r=r->get_children(); @@ -296,6 +298,10 @@ void ProjectSettings::_show_last_added(const InputEvent& p_event) { return; bool found = false; while(r){ + if (r->get_text(0) != name) { + r=r->get_next(); + continue; + } TreeItem *child = r->get_children(); while(child){ Variant input = child->get_meta("__input"); @@ -381,7 +387,7 @@ void ProjectSettings::_add_item(int p_item){ } break; case InputEvent::JOYSTICK_BUTTON: { - device_id->set_val(3); + device_id->set_val(0); device_index_label->set_text(TTR("Joystick Button Index:")); device_index->clear(); diff --git a/tools/editor/project_settings.h b/tools/editor/project_settings.h index e3b7a5eba..74f0c3400 100644 --- a/tools/editor/project_settings.h +++ b/tools/editor/project_settings.h @@ -111,7 +111,7 @@ class ProjectSettings : public AcceptDialog { void _action_button_pressed(Object* p_obj, int p_column,int p_id); void _wait_for_key(const InputEvent& p_event); void _press_a_key_confirm(); - void _show_last_added(const InputEvent& p_event); + void _show_last_added(const InputEvent& p_event, const String& p_name); void _settings_prop_edited(const String& p_name); void _settings_changed(); |
