Merge pull request #6051 from neikeq/pr-imp-5882

Project Manager: Fix and improve unhandled input
This commit is contained in:
Rémi Verschelde 2016-08-08 11:12:44 +02:00 committed by GitHub
commit a6643cf578

View file

@ -605,6 +605,10 @@ void ProjectManager::_unhandled_input(const InputEvent& p_ev) {
switch (k.scancode) {
case KEY_RETURN: {
_open_project();
} break;
case KEY_HOME: {
for (int i=0; i<scroll_childs->get_child_count(); i++) {
@ -614,6 +618,7 @@ void ProjectManager::_unhandled_input(const InputEvent& p_ev) {
selected_list.clear();
selected_list.insert(hb->get_meta("name"), hb->get_meta("main_scene"));
scroll->set_v_scroll(0);
_update_project_buttons();
break;
}
}
@ -628,6 +633,7 @@ void ProjectManager::_unhandled_input(const InputEvent& p_ev) {
selected_list.clear();
selected_list.insert(hb->get_meta("name"), hb->get_meta("main_scene"));
scroll->set_v_scroll(scroll_childs->get_size().y);
_update_project_buttons();
break;
}
}
@ -658,6 +664,8 @@ void ProjectManager::_unhandled_input(const InputEvent& p_ev) {
if (offset_diff > 0)
scroll->set_v_scroll(scroll->get_v_scroll() - offset_diff);
_update_project_buttons();
break;
} else if (current==selected_list.back()->key()) {
@ -694,6 +702,8 @@ void ProjectManager::_unhandled_input(const InputEvent& p_ev) {
if (offset_diff > 0)
scroll->set_v_scroll(scroll->get_v_scroll() + offset_diff);
_update_project_buttons();
break;
} else if (current==selected_list.back()->key()) {
@ -714,12 +724,6 @@ void ProjectManager::_unhandled_input(const InputEvent& p_ev) {
if (scancode_handled) {
accept_event();
for(int i=0;i<scroll_childs->get_child_count();i++) {
CanvasItem *item = scroll_childs->get_child(i)->cast_to<CanvasItem>();
if (item)
item->update();
}
}
}
}
@ -943,7 +947,7 @@ void ProjectManager::_open_project() {
}
if (selected_list.size()>1) {
multi_open_ask->set_text(TTR("Are you sure to open more than one projects?"));
multi_open_ask->set_text(TTR("Are you sure to open more than one project?"));
multi_open_ask->popup_centered_minsize();
} else {
_open_project_confirm();
@ -983,7 +987,7 @@ void ProjectManager::_run_project() {
}
if (selected_list.size()>1) {
multi_run_ask->set_text(TTR("Are you sure to run more than one projects?"));
multi_run_ask->set_text(TTR("Are you sure to run more than one project?"));
multi_run_ask->popup_centered_minsize();
} else {
_run_project_confirm();