From 987192775a713c61bc7ac17b54b3bbd1d1e067f3 Mon Sep 17 00:00:00 2001 From: Warlaan Date: Sat, 4 Jun 2016 10:06:42 +0200 Subject: [PATCH] The create dialog starts collapsed now. The original behavior can be reactivated in the editor settings. --- tools/editor/create_dialog.cpp | 13 +++++++++++++ tools/editor/editor_settings.cpp | 1 + 2 files changed, 14 insertions(+) diff --git a/tools/editor/create_dialog.cpp b/tools/editor/create_dialog.cpp index cd34b5aeb9..b6137ddac0 100644 --- a/tools/editor/create_dialog.cpp +++ b/tools/editor/create_dialog.cpp @@ -36,6 +36,7 @@ #if 1 #include "os/keyboard.h" +#include "editor_settings.h" #include "editor_help.h" @@ -108,6 +109,18 @@ void CreateDialog::add_type(const String& p_type,HashMap& p_ty } + if (bool(EditorSettings::get_singleton()->get("scenetree_editor/start_create_dialog_fully_expanded"))) { + item->set_collapsed(false); + } else { + // don't collapse search results + bool collapse = (search_box->get_text() == ""); + // don't collapse the root node + collapse &= (item != p_root); + // don't collapse abstract nodes on the first tree level + collapse &= ((parent != p_root) || (ObjectTypeDB::can_instance(p_type))); + item->set_collapsed(collapse); + } + const String& description = EditorHelp::get_doc_data()->class_list[p_type].brief_description; item->set_tooltip(0,description); diff --git a/tools/editor/editor_settings.cpp b/tools/editor/editor_settings.cpp index 1080509b8f..93b3369aaf 100644 --- a/tools/editor/editor_settings.cpp +++ b/tools/editor/editor_settings.cpp @@ -493,6 +493,7 @@ void EditorSettings::_load_defaults(Ref p_extra_config) { set("scenetree_editor/duplicate_node_name_num_separator",0); hints["scenetree_editor/duplicate_node_name_num_separator"]=PropertyInfo(Variant::INT,"scenetree_editor/duplicate_node_name_num_separator",PROPERTY_HINT_ENUM, "None,Space,Underscore,Dash"); //set("scenetree_editor/display_old_action_buttons",false); + set("scenetree_editor/start_create_dialog_fully_expanded",false); set("gridmap_editor/pick_distance", 5000.0);