Ensure focus when dropping to script editor

This improves usability by making sure actions subsequent to drop
are performed within the script editor. For example, dropping a
node from the scene tree to the script editor and attempting undo
will now undo the drop instead of performing an undo in the scene
tree.

Fixes issue #61465
This commit is contained in:
Arne Stenkrona 2022-05-28 19:46:17 +02:00
parent 1f690f197a
commit 6cd4d5f061

View file

@ -1524,6 +1524,7 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data
te->set_caret_line(row);
te->set_caret_column(col);
te->insert_text_at_caret(res->get_path());
te->grab_focus();
}
if (d.has("type") && (String(d["type"]) == "files" || String(d["type"]) == "files_and_dirs")) {
@ -1546,6 +1547,7 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data
te->set_caret_line(row);
te->set_caret_column(col);
te->insert_text_at_caret(text_to_drop);
te->grab_focus();
}
if (d.has("type") && String(d["type"]) == "nodes") {
@ -1619,6 +1621,7 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data
te->set_caret_line(row);
te->set_caret_column(col);
te->insert_text_at_caret(text_to_drop);
te->grab_focus();
}
if (d.has("type") && String(d["type"]) == "obj_property") {
@ -1627,6 +1630,7 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data
te->set_caret_line(row);
te->set_caret_column(col);
te->insert_text_at_caret(text_to_drop);
te->grab_focus();
}
}