Make the Import dock depend on the FileSystem dock

This commit is contained in:
Aaron Franke 2020-05-08 15:51:42 -04:00
parent f98b32ff51
commit de6f8f9d21
No known key found for this signature in database
GPG key ID: 40A1750B977E56BF
3 changed files with 17 additions and 8 deletions

View file

@ -41,9 +41,9 @@ const char *EditorFeatureProfile::feature_names[FEATURE_MAX] = {
TTRC("Script Editor"), TTRC("Script Editor"),
TTRC("Asset Library"), TTRC("Asset Library"),
TTRC("Scene Tree Editing"), TTRC("Scene Tree Editing"),
TTRC("Import Dock"),
TTRC("Node Dock"), TTRC("Node Dock"),
TTRC("FileSystem and Import Docks") TTRC("FileSystem Dock"),
TTRC("Import Dock"),
}; };
const char *EditorFeatureProfile::feature_identifiers[FEATURE_MAX] = { const char *EditorFeatureProfile::feature_identifiers[FEATURE_MAX] = {
@ -51,9 +51,9 @@ const char *EditorFeatureProfile::feature_identifiers[FEATURE_MAX] = {
"script", "script",
"asset_lib", "asset_lib",
"scene_tree", "scene_tree",
"import_dock",
"node_dock", "node_dock",
"filesystem_dock" "filesystem_dock",
"import_dock",
}; };
void EditorFeatureProfile::set_disable_class(const StringName &p_class, bool p_disabled) { void EditorFeatureProfile::set_disable_class(const StringName &p_class, bool p_disabled) {
@ -678,9 +678,16 @@ void EditorFeatureProfileManager::_update_selected_profile() {
TreeItem *root = class_list->create_item(); TreeItem *root = class_list->create_item();
TreeItem *features = class_list->create_item(root); TreeItem *features = class_list->create_item(root);
TreeItem *last_feature;
features->set_text(0, TTR("Enabled Features:")); features->set_text(0, TTR("Enabled Features:"));
for (int i = 0; i < EditorFeatureProfile::FEATURE_MAX; i++) { for (int i = 0; i < EditorFeatureProfile::FEATURE_MAX; i++) {
TreeItem *feature = class_list->create_item(features); TreeItem *feature;
if (i == EditorFeatureProfile::FEATURE_IMPORT_DOCK) {
feature = class_list->create_item(last_feature);
} else {
feature = class_list->create_item(features);
last_feature = feature;
}
feature->set_cell_mode(0, TreeItem::CELL_MODE_CHECK); feature->set_cell_mode(0, TreeItem::CELL_MODE_CHECK);
feature->set_text(0, TTRGET(EditorFeatureProfile::get_feature_name(EditorFeatureProfile::Feature(i)))); feature->set_text(0, TTRGET(EditorFeatureProfile::get_feature_name(EditorFeatureProfile::Feature(i))));
feature->set_selectable(0, true); feature->set_selectable(0, true);

View file

@ -49,9 +49,9 @@ public:
FEATURE_SCRIPT, FEATURE_SCRIPT,
FEATURE_ASSET_LIB, FEATURE_ASSET_LIB,
FEATURE_SCENE_TREE, FEATURE_SCENE_TREE,
FEATURE_IMPORT_DOCK,
FEATURE_NODE_DOCK, FEATURE_NODE_DOCK,
FEATURE_FILESYSTEM_DOCK, FEATURE_FILESYSTEM_DOCK,
FEATURE_IMPORT_DOCK,
FEATURE_MAX FEATURE_MAX
}; };

View file

@ -5344,9 +5344,11 @@ void EditorNode::_feature_profile_changed() {
TabContainer *node_tabs = cast_to<TabContainer>(node_dock->get_parent()); TabContainer *node_tabs = cast_to<TabContainer>(node_dock->get_parent());
TabContainer *fs_tabs = cast_to<TabContainer>(filesystem_dock->get_parent()); TabContainer *fs_tabs = cast_to<TabContainer>(filesystem_dock->get_parent());
if (profile.is_valid()) { if (profile.is_valid()) {
import_tabs->set_tab_hidden(import_dock->get_index(), profile->is_feature_disabled(EditorFeatureProfile::FEATURE_IMPORT_DOCK));
node_tabs->set_tab_hidden(node_dock->get_index(), profile->is_feature_disabled(EditorFeatureProfile::FEATURE_NODE_DOCK)); node_tabs->set_tab_hidden(node_dock->get_index(), profile->is_feature_disabled(EditorFeatureProfile::FEATURE_NODE_DOCK));
fs_tabs->set_tab_hidden(filesystem_dock->get_index(), profile->is_feature_disabled(EditorFeatureProfile::FEATURE_FILESYSTEM_DOCK)); // The Import dock is useless without the FileSystem dock. Ensure the configuration is valid.
bool fs_dock_disabled = profile->is_feature_disabled(EditorFeatureProfile::FEATURE_FILESYSTEM_DOCK);
fs_tabs->set_tab_hidden(filesystem_dock->get_index(), fs_dock_disabled);
import_tabs->set_tab_hidden(import_dock->get_index(), fs_dock_disabled || profile->is_feature_disabled(EditorFeatureProfile::FEATURE_IMPORT_DOCK));
main_editor_buttons[EDITOR_3D]->set_visible(!profile->is_feature_disabled(EditorFeatureProfile::FEATURE_3D)); main_editor_buttons[EDITOR_3D]->set_visible(!profile->is_feature_disabled(EditorFeatureProfile::FEATURE_3D));
main_editor_buttons[EDITOR_SCRIPT]->set_visible(!profile->is_feature_disabled(EditorFeatureProfile::FEATURE_SCRIPT)); main_editor_buttons[EDITOR_SCRIPT]->set_visible(!profile->is_feature_disabled(EditorFeatureProfile::FEATURE_SCRIPT));