Make the Import dock depend on the FileSystem dock
(cherry picked from commit de6f8f9d21
)
This commit is contained in:
parent
e24b9f0520
commit
76a8458753
|
@ -135,15 +135,15 @@
|
|||
<constant name="FEATURE_SCENE_TREE" value="3" enum="Feature">
|
||||
Scene tree editing. If this feature is disabled, the Scene tree dock will still be visible but will be read-only.
|
||||
</constant>
|
||||
<constant name="FEATURE_IMPORT_DOCK" value="4" enum="Feature">
|
||||
The Import dock. If this feature is disabled, the Import dock won't be visible.
|
||||
</constant>
|
||||
<constant name="FEATURE_NODE_DOCK" value="5" enum="Feature">
|
||||
<constant name="FEATURE_NODE_DOCK" value="4" enum="Feature">
|
||||
The Node dock. If this feature is disabled, signals and groups won't be visible and modifiable from the editor.
|
||||
</constant>
|
||||
<constant name="FEATURE_FILESYSTEM_DOCK" value="6" enum="Feature">
|
||||
<constant name="FEATURE_FILESYSTEM_DOCK" value="5" enum="Feature">
|
||||
The FileSystem dock. If this feature is disabled, the FileSystem dock won't be visible.
|
||||
</constant>
|
||||
<constant name="FEATURE_IMPORT_DOCK" value="6" enum="Feature">
|
||||
The Import dock. If this feature is disabled, the Import dock won't be visible.
|
||||
</constant>
|
||||
<constant name="FEATURE_MAX" value="7" enum="Feature">
|
||||
Represents the size of the [enum Feature] enum.
|
||||
</constant>
|
||||
|
|
|
@ -40,9 +40,9 @@ const char *EditorFeatureProfile::feature_names[FEATURE_MAX] = {
|
|||
TTRC("Script Editor"),
|
||||
TTRC("Asset Library"),
|
||||
TTRC("Scene Tree Editing"),
|
||||
TTRC("Import Dock"),
|
||||
TTRC("Node Dock"),
|
||||
TTRC("FileSystem and Import Docks")
|
||||
TTRC("FileSystem Dock"),
|
||||
TTRC("Import Dock"),
|
||||
};
|
||||
|
||||
const char *EditorFeatureProfile::feature_identifiers[FEATURE_MAX] = {
|
||||
|
@ -50,9 +50,9 @@ const char *EditorFeatureProfile::feature_identifiers[FEATURE_MAX] = {
|
|||
"script",
|
||||
"asset_lib",
|
||||
"scene_tree",
|
||||
"import_dock",
|
||||
"node_dock",
|
||||
"filesystem_dock"
|
||||
"filesystem_dock",
|
||||
"import_dock",
|
||||
};
|
||||
|
||||
void EditorFeatureProfile::set_disable_class(const StringName &p_class, bool p_disabled) {
|
||||
|
@ -275,9 +275,9 @@ void EditorFeatureProfile::_bind_methods() {
|
|||
BIND_ENUM_CONSTANT(FEATURE_SCRIPT);
|
||||
BIND_ENUM_CONSTANT(FEATURE_ASSET_LIB);
|
||||
BIND_ENUM_CONSTANT(FEATURE_SCENE_TREE);
|
||||
BIND_ENUM_CONSTANT(FEATURE_IMPORT_DOCK);
|
||||
BIND_ENUM_CONSTANT(FEATURE_NODE_DOCK);
|
||||
BIND_ENUM_CONSTANT(FEATURE_FILESYSTEM_DOCK);
|
||||
BIND_ENUM_CONSTANT(FEATURE_IMPORT_DOCK);
|
||||
BIND_ENUM_CONSTANT(FEATURE_MAX);
|
||||
}
|
||||
|
||||
|
@ -688,10 +688,16 @@ void EditorFeatureProfileManager::_update_selected_profile() {
|
|||
TreeItem *root = class_list->create_item();
|
||||
|
||||
TreeItem *features = class_list->create_item(root);
|
||||
TreeItem *last_feature;
|
||||
features->set_text(0, TTR("Enabled Features:"));
|
||||
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_text(0, TTRGET(EditorFeatureProfile::get_feature_name(EditorFeatureProfile::Feature(i))));
|
||||
feature->set_selectable(0, true);
|
||||
|
|
|
@ -49,9 +49,9 @@ public:
|
|||
FEATURE_SCRIPT,
|
||||
FEATURE_ASSET_LIB,
|
||||
FEATURE_SCENE_TREE,
|
||||
FEATURE_IMPORT_DOCK,
|
||||
FEATURE_NODE_DOCK,
|
||||
FEATURE_FILESYSTEM_DOCK,
|
||||
FEATURE_IMPORT_DOCK,
|
||||
FEATURE_MAX
|
||||
};
|
||||
|
||||
|
|
|
@ -5515,10 +5515,11 @@ void EditorNode::_feature_profile_changed() {
|
|||
TabContainer *node_tabs = cast_to<TabContainer>(node_dock->get_parent());
|
||||
TabContainer *fs_tabs = cast_to<TabContainer>(filesystem_dock->get_parent());
|
||||
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));
|
||||
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_SCRIPT]->set_visible(!profile->is_feature_disabled(EditorFeatureProfile::FEATURE_SCRIPT));
|
||||
|
|
Loading…
Reference in New Issue