summaryrefslogtreecommitdiffstats
path: root/editor/editor_node.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'editor/editor_node.cpp')
-rw-r--r--editor/editor_node.cpp22
1 files changed, 12 insertions, 10 deletions
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp
index 71603e6190..fd49920c6b 100644
--- a/editor/editor_node.cpp
+++ b/editor/editor_node.cpp
@@ -317,14 +317,10 @@ void EditorNode::shortcut_input(const Ref<InputEvent> &p_event) {
Ref<InputEventKey> k = p_event;
if ((k.is_valid() && k->is_pressed() && !k->is_echo()) || Object::cast_to<InputEventShortcut>(*p_event)) {
- EditorPlugin *old_editor = editor_plugin_screen;
-
+ bool is_handled = true;
if (ED_IS_SHORTCUT("editor/filter_files", p_event)) {
FileSystemDock::get_singleton()->focus_on_filter();
- get_tree()->get_root()->set_input_as_handled();
- }
-
- if (ED_IS_SHORTCUT("editor/editor_2d", p_event)) {
+ } else if (ED_IS_SHORTCUT("editor/editor_2d", p_event)) {
editor_select(EDITOR_2D);
} else if (ED_IS_SHORTCUT("editor/editor_3d", p_event)) {
editor_select(EDITOR_3D);
@@ -343,9 +339,10 @@ void EditorNode::shortcut_input(const Ref<InputEvent> &p_event) {
} else if (ED_IS_SHORTCUT("editor/toggle_last_opened_bottom_panel", p_event)) {
bottom_panel->toggle_last_opened_bottom_panel();
} else {
+ is_handled = false;
}
- if (old_editor != editor_plugin_screen) {
+ if (is_handled) {
get_tree()->get_root()->set_input_as_handled();
}
}
@@ -5261,6 +5258,14 @@ bool EditorNode::has_scenes_in_session() {
return !scenes.is_empty();
}
+void EditorNode::undo() {
+ trigger_menu_option(EDIT_UNDO, true);
+}
+
+void EditorNode::redo() {
+ trigger_menu_option(EDIT_REDO, true);
+}
+
bool EditorNode::ensure_main_scene(bool p_from_native) {
pick_main_scene->set_meta("from_native", p_from_native); // Whether from play button or native run.
String main_scene = GLOBAL_GET("application/run/main_scene");
@@ -5973,9 +5978,6 @@ void EditorNode::reload_instances_with_path_in_edited_scenes(const String &p_ins
is_editable = owner->is_editable_instance(original_node);
}
- // For clear instance state for path recaching.
- instantiated_node->set_scene_instance_state(Ref<SceneState>());
-
bool original_node_is_displayed_folded = original_node->is_displayed_folded();
bool original_node_scene_instance_load_placeholder = original_node->get_scene_instance_load_placeholder();