Hide Control focus when given via mouse input

This commit is contained in:
Michael Alexsander
2025-09-03 20:39:18 -03:00
parent 2753d333f6
commit aeb3a45c97
53 changed files with 229 additions and 105 deletions

View File

@ -813,7 +813,7 @@ void ProjectDialog::show_dialog(bool p_reset_name) {
renderer_container->hide();
default_files_container->hide();
callable_mp((Control *)project_name, &Control::grab_focus).call_deferred();
callable_mp((Control *)project_name, &Control::grab_focus).call_deferred(false);
callable_mp(project_name, &LineEdit::select_all).call_deferred();
} else {
if (p_reset_name) {
@ -865,7 +865,7 @@ void ProjectDialog::show_dialog(bool p_reset_name) {
renderer_container->show();
default_files_container->show();
callable_mp((Control *)project_name, &Control::grab_focus).call_deferred();
callable_mp((Control *)project_name, &Control::grab_focus).call_deferred(false);
callable_mp(project_name, &LineEdit::select_all).call_deferred();
} else if (mode == MODE_INSTALL) {
set_title(TTR("Install Project:") + " " + zip_title);
@ -878,7 +878,7 @@ void ProjectDialog::show_dialog(bool p_reset_name) {
renderer_container->hide();
default_files_container->hide();
callable_mp((Control *)project_path, &Control::grab_focus).call_deferred();
callable_mp((Control *)project_path, &Control::grab_focus).call_deferred(false);
} else if (mode == MODE_DUPLICATE) {
set_title(TTRC("Duplicate Project"));
set_ok_button_text(TTRC("Duplicate"));
@ -891,7 +891,7 @@ void ProjectDialog::show_dialog(bool p_reset_name) {
edit_check_box->hide();
}
callable_mp((Control *)project_name, &Control::grab_focus).call_deferred();
callable_mp((Control *)project_name, &Control::grab_focus).call_deferred(false);
callable_mp(project_name, &LineEdit::select_all).call_deferred();
}

View File

@ -363,7 +363,8 @@ void ProjectManager::_select_main_view(int p_id) {
if (current_main_view == MAIN_VIEW_PROJECTS && search_box->is_inside_tree()) {
// Automatically grab focus when the user moves from the Templates tab
// back to the Projects tab.
search_box->grab_focus();
// Needs to be deferred, otherwise the focus outline is always drawn.
callable_mp((Control *)search_box, &Control::grab_focus).call_deferred(true);
}
// The Templates tab's search field is focused on display in the asset