1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-11 13:10:58 +00:00

Focus Don't Save in Reload Saved Scene and don't save unmodified scenes

This commit is contained in:
Robert Yevdokimov
2025-03-14 08:15:20 +04:00
parent 7e4f6bdb59
commit 17f78cdcaa
2 changed files with 13 additions and 9 deletions

View File

@@ -2998,16 +2998,19 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
break; break;
} }
if (unsaved_cache && !p_confirmed) { if (unsaved_cache) {
confirmation->set_ok_button_text(TTR("Save & Reload")); if (!p_confirmed) {
unsaved_message = _get_unsaved_scene_dialog_text(scene_filename, started_timestamp); confirmation->set_ok_button_text(TTRC("Save & Reload"));
confirmation->set_text(unsaved_message + "\n\n" + TTR("Save before reloading the scene?")); unsaved_message = _get_unsaved_scene_dialog_text(scene_filename, started_timestamp);
confirmation->popup_centered(); confirmation->set_text(unsaved_message + "\n\n" + TTR("Save before reloading the scene?"));
break; confirmation->popup_centered();
confirmation_button->grab_focus();
break;
} else {
_save_scene_with_preview(scene_filename);
}
} }
_save_scene_with_preview(scene_filename);
_discard_changes(); _discard_changes();
} break; } break;
@@ -7788,7 +7791,7 @@ EditorNode::EditorNode() {
gui_base->add_child(orphan_resources); gui_base->add_child(orphan_resources);
confirmation = memnew(ConfirmationDialog); confirmation = memnew(ConfirmationDialog);
confirmation->add_button(TTRC("Don't Save"), DisplayServer::get_singleton()->get_swap_cancel_ok(), "discard"); confirmation_button = confirmation->add_button(TTRC("Don't Save"), DisplayServer::get_singleton()->get_swap_cancel_ok(), "discard");
gui_base->add_child(confirmation); gui_base->add_child(confirmation);
confirmation->set_min_size(Vector2(450.0 * EDSCALE, 0)); confirmation->set_min_size(Vector2(450.0 * EDSCALE, 0));
confirmation->connect(SceneStringName(confirmed), callable_mp(this, &EditorNode::_menu_confirm_current)); confirmation->connect(SceneStringName(confirmed), callable_mp(this, &EditorNode::_menu_confirm_current));

View File

@@ -350,6 +350,7 @@ private:
Node *_last_instantiated_scene = nullptr; Node *_last_instantiated_scene = nullptr;
ConfirmationDialog *confirmation = nullptr; ConfirmationDialog *confirmation = nullptr;
Button *confirmation_button = nullptr;
ConfirmationDialog *save_confirmation = nullptr; ConfirmationDialog *save_confirmation = nullptr;
ConfirmationDialog *import_confirmation = nullptr; ConfirmationDialog *import_confirmation = nullptr;
ConfirmationDialog *pick_main_scene = nullptr; ConfirmationDialog *pick_main_scene = nullptr;