From b38f528082aee3fd77c26a1cae8add051d45b94a Mon Sep 17 00:00:00 2001 From: Haoyu Qiu Date: Wed, 4 Aug 2021 11:01:52 +0800 Subject: [PATCH] Disable save button when Inspector is not editing anything --- editor/inspector_dock.cpp | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/editor/inspector_dock.cpp b/editor/inspector_dock.cpp index a566afb597d..952bec4d875 100644 --- a/editor/inspector_dock.cpp +++ b/editor/inspector_dock.cpp @@ -408,22 +408,12 @@ void InspectorDock::update(Object *p_object) { current = p_object; - if (!p_object) { - open_docs_button->set_disabled(true); - object_menu->set_disabled(true); - warning->hide(); - search->set_editable(false); - editor_path->clear_path(); - return; - } - - bool is_resource = p_object->is_class("Resource"); - bool is_node = p_object->is_class("Node"); - - object_menu->set_disabled(false); - search->set_editable(true); - editor_path->enable_path(); + const bool is_object = p_object != nullptr; + const bool is_resource = is_object && p_object->is_class("Resource"); + const bool is_node = is_object && p_object->is_class("Node"); + object_menu->set_disabled(!is_object); + search->set_editable(is_object); resource_save_button->set_disabled(!is_resource); open_docs_button->set_disabled(!is_resource && !is_node); @@ -431,6 +421,14 @@ void InspectorDock::update(Object *p_object) { resource_extra_popup->set_item_disabled(resource_extra_popup->get_item_index(RESOURCE_COPY), !is_resource); resource_extra_popup->set_item_disabled(resource_extra_popup->get_item_index(RESOURCE_MAKE_BUILT_IN), !is_resource); + if (!is_object) { + warning->hide(); + editor_path->clear_path(); + return; + } + + editor_path->enable_path(); + PopupMenu *p = object_menu->get_popup(); p->clear();