You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-14 13:41:12 +00:00
Add per-scene UndoRedo
This commit is contained in:
@@ -35,6 +35,7 @@
|
||||
#include "editor/editor_file_system.h"
|
||||
#include "editor/editor_node.h"
|
||||
#include "editor/editor_scale.h"
|
||||
#include "editor/editor_undo_redo_manager.h"
|
||||
#include "editor/node_dock.h"
|
||||
#include "editor/plugins/animation_player_editor_plugin.h"
|
||||
#include "editor/plugins/canvas_item_editor_plugin.h"
|
||||
@@ -365,7 +366,7 @@ void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) {
|
||||
item->set_tooltip(0, tooltip);
|
||||
}
|
||||
|
||||
if (can_open_instance && undo_redo) { //Show buttons only when necessary(SceneTreeDock) to avoid crashes
|
||||
if (can_open_instance && undo_redo.is_valid()) { //Show buttons only when necessary(SceneTreeDock) to avoid crashes
|
||||
|
||||
if (!p_node->is_connected("script_changed", callable_mp(this, &SceneTreeEditor::_node_script_changed))) {
|
||||
p_node->connect("script_changed", callable_mp(this, &SceneTreeEditor::_node_script_changed).bind(p_node));
|
||||
@@ -883,7 +884,7 @@ void SceneTreeEditor::_renamed() {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!undo_redo) {
|
||||
if (!undo_redo.is_valid()) {
|
||||
n->set_name(new_name);
|
||||
which->set_metadata(0, n->get_path());
|
||||
emit_signal(SNAME("node_renamed"));
|
||||
@@ -927,6 +928,10 @@ String SceneTreeEditor::get_filter() const {
|
||||
return filter;
|
||||
}
|
||||
|
||||
void SceneTreeEditor::set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo) {
|
||||
undo_redo = p_undo_redo;
|
||||
}
|
||||
|
||||
void SceneTreeEditor::set_display_foreign_nodes(bool p_display) {
|
||||
display_foreign = p_display;
|
||||
_update_tree();
|
||||
@@ -1258,7 +1263,6 @@ void SceneTreeEditor::_bind_methods() {
|
||||
}
|
||||
|
||||
SceneTreeEditor::SceneTreeEditor(bool p_label, bool p_can_rename, bool p_can_open_instance) {
|
||||
undo_redo = nullptr;
|
||||
selected = nullptr;
|
||||
|
||||
can_rename = p_can_rename;
|
||||
|
||||
Reference in New Issue
Block a user