浏览代码

Merge pull request #13367 from Krakean/inspector_collapseexpand_corrections

Small corrections to Inspector collapse/expand feature
Rémi Verschelde 7 年之前
父节点
当前提交
aac4cde229
共有 3 个文件被更改,包括 4 次插入7 次删除
  1. 0 5
      editor/editor_node.cpp
  2. 3 2
      editor/property_editor.cpp
  3. 1 0
      editor/property_editor.h

+ 0 - 5
editor/editor_node.cpp

@@ -1475,7 +1475,6 @@ void EditorNode::_edit_current() {
 	object_menu->set_disabled(true);
 
 	bool capitalize = bool(EDITOR_DEF("interface/editor/capitalize_properties", true));
-	bool expandall = bool(EDITOR_DEF("interface/editor/expand_all_properties", true));
 	bool is_resource = current_obj->is_class("Resource");
 	bool is_node = current_obj->is_class("Node");
 	resource_save_button->set_disabled(!is_resource);
@@ -1547,10 +1546,6 @@ void EditorNode::_edit_current() {
 		property_editor->set_enable_capitalize_paths(capitalize);
 	}
 
-	if (property_editor->is_expand_all_properties_enabled() != expandall) {
-		property_editor->set_use_folding(expandall == false);
-	}
-
 	/* Take care of PLUGIN EDITOR */
 
 	EditorPlugin *main_plugin = editor_data.get_editor(current_obj);

+ 3 - 2
editor/property_editor.cpp

@@ -2665,12 +2665,12 @@ TreeItem *PropertyEditor::get_parent_node(String p_path, HashMap<String, TreeIte
 		item->set_editable(1, false);
 		item->set_selectable(1, subsection_selectable);
 
-		if (use_folding) {
+		if (use_folding || folding_behaviour != FB_UNDEFINED) { // Even if you disabled folding (expand all by default), you still can collapse all manually.
 			if (!obj->editor_is_section_unfolded(p_path)) {
 				updating_folding = true;
 				if (folding_behaviour == FB_COLLAPSEALL)
 					item->set_collapsed(true);
-				else if (folding_behaviour == FB_EXPANDALL)
+				else if (folding_behaviour == FB_EXPANDALL || is_expandall_enabled)
 					item->set_collapsed(false);
 				else
 					item->set_collapsed(true);
@@ -4310,6 +4310,7 @@ PropertyEditor::PropertyEditor() {
 	property_selectable = false;
 	show_type_icons = false; // maybe one day will return.
 	folding_behaviour = FB_UNDEFINED;
+	is_expandall_enabled = bool(EDITOR_DEF("interface/editor/expand_all_properties", true));
 }
 
 PropertyEditor::~PropertyEditor() {

+ 1 - 0
editor/property_editor.h

@@ -203,6 +203,7 @@ class PropertyEditor : public Control {
 	bool hide_script;
 	bool use_folding;
 	bool property_selectable;
+	bool is_expandall_enabled;
 
 	bool updating_folding;