Merge pull request #7792 from Hinsbart/inputmap_fixes

ProjectSettings: InputMap dialog fixes
This commit is contained in:
Rémi Verschelde 2017-02-14 07:46:31 +01:00 committed by GitHub
commit fb4b4a30e7
2 changed files with 11 additions and 5 deletions

View file

@ -242,7 +242,7 @@ void ProjectSettings::_device_input_add() {
undo_redo->add_undo_method(this,"_settings_changed"); undo_redo->add_undo_method(this,"_settings_changed");
undo_redo->commit_action(); undo_redo->commit_action();
_show_last_added(ie); _show_last_added(ie, name);
} }
@ -279,12 +279,14 @@ void ProjectSettings::_press_a_key_confirm() {
undo_redo->add_undo_method(this,"_settings_changed"); undo_redo->add_undo_method(this,"_settings_changed");
undo_redo->commit_action(); 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(); TreeItem *r = input_editor->get_root();
String name = p_name;
name.erase(0,6);
if (!r) if (!r)
return; return;
r=r->get_children(); r=r->get_children();
@ -292,6 +294,10 @@ void ProjectSettings::_show_last_added(const InputEvent& p_event) {
return; return;
bool found = false; bool found = false;
while(r){ while(r){
if (r->get_text(0) != name) {
r=r->get_next();
continue;
}
TreeItem *child = r->get_children(); TreeItem *child = r->get_children();
while(child){ while(child){
Variant input = child->get_meta("__input"); Variant input = child->get_meta("__input");
@ -377,7 +383,7 @@ void ProjectSettings::_add_item(int p_item){
} break; } break;
case InputEvent::JOYPAD_BUTTON: { case InputEvent::JOYPAD_BUTTON: {
device_id->set_value(3); device_id->set_value(0);
device_index_label->set_text(TTR("Joypad Button Index:")); device_index_label->set_text(TTR("Joypad Button Index:"));
device_index->clear(); device_index->clear();

View file

@ -111,7 +111,7 @@ class ProjectSettings : public AcceptDialog {
void _action_button_pressed(Object* p_obj, int p_column,int p_id); void _action_button_pressed(Object* p_obj, int p_column,int p_id);
void _wait_for_key(const InputEvent& p_event); void _wait_for_key(const InputEvent& p_event);
void _press_a_key_confirm(); 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_prop_edited(const String& p_name);
void _settings_changed(); void _settings_changed();