Make save confirmation a child of last exclusive window of EditorNode before popup

This commit is contained in:
Robert Yevdokimov 2025-01-27 05:50:27 +04:00
parent e5498020b6
commit c7fd0bb740
2 changed files with 7 additions and 0 deletions

View file

@ -5701,6 +5701,10 @@ void EditorNode::_cancel_close_scene_tab() {
}
}
void EditorNode::_prepare_save_confirmation_popup() {
save_confirmation->reparent(get_last_exclusive_window());
}
void EditorNode::_toggle_distraction_free_mode() {
if (EDITOR_GET("interface/editor/separate_distraction_mode")) {
int screen = editor_main_screen->get_selected_index();
@ -7697,6 +7701,7 @@ EditorNode::EditorNode() {
save_confirmation->connect(SceneStringName(confirmed), callable_mp(this, &EditorNode::_menu_confirm_current));
save_confirmation->connect("custom_action", callable_mp(this, &EditorNode::_discard_changes));
save_confirmation->connect("canceled", callable_mp(this, &EditorNode::_cancel_close_scene_tab));
save_confirmation->connect("about_to_popup", callable_mp(this, &EditorNode::_prepare_save_confirmation_popup));
gradle_build_manage_templates = memnew(ConfirmationDialog);
gradle_build_manage_templates->set_text(TTR("Android build template is missing, please install relevant templates."));

View file

@ -566,6 +566,8 @@ private:
void _scene_tab_closed(int p_tab);
void _cancel_close_scene_tab();
void _prepare_save_confirmation_popup();
void _inherit_request(String p_file);
void _instantiate_request(const Vector<String> &p_files);