Browse Source

Merge pull request #90720 from tbreese3/master

Allow closing scene tab preview using Escape
Rémi Verschelde 1 năm trước cách đây
mục cha
commit
dc6802587e
2 tập tin đã thay đổi với 13 bổ sung0 xóa
  1. 12 0
      editor/gui/editor_scene_tabs.cpp
  2. 1 0
      editor/gui/editor_scene_tabs.h

+ 12 - 0
editor/gui/editor_scene_tabs.cpp

@@ -135,6 +135,17 @@ void EditorSceneTabs::_scene_tab_input(const Ref<InputEvent> &p_input) {
 	}
 }
 
+void EditorSceneTabs::unhandled_key_input(const Ref<InputEvent> &p_event) {
+	if (!tab_preview_panel->is_visible()) {
+		return;
+	}
+
+	Ref<InputEventKey> k = p_event;
+	if (k.is_valid() && k->is_action_pressed(SNAME("ui_cancel"), false, true)) {
+		tab_preview_panel->hide();
+	}
+}
+
 void EditorSceneTabs::_reposition_active_tab(int p_to_index) {
 	EditorNode::get_editor_data().move_edited_scene_to_index(p_to_index);
 	update_scene_tabs();
@@ -369,6 +380,7 @@ EditorSceneTabs::EditorSceneTabs() {
 	singleton = this;
 
 	set_process_shortcut_input(true);
+	set_process_unhandled_key_input(true);
 
 	tabbar_panel = memnew(PanelContainer);
 	add_child(tabbar_panel);

+ 1 - 0
editor/gui/editor_scene_tabs.h

@@ -79,6 +79,7 @@ class EditorSceneTabs : public MarginContainer {
 
 protected:
 	void _notification(int p_what);
+	virtual void unhandled_key_input(const Ref<InputEvent> &p_event) override;
 	static void _bind_methods();
 
 public: