diff options
author | Tomasz Chabora <kobewi4e@gmail.com> | 2020-11-15 01:54:24 +0100 |
---|---|---|
committer | kobewi <kobewi4e@gmail.com> | 2021-03-23 12:49:19 +0100 |
commit | eb4082b24a5ad037fff8b3c881bbdec78a9a26ed (patch) | |
tree | 2bb0cfad0c69e5ca3398229d678bd4145c63a87e /editor | |
parent | 9e7348f78852b965a628193289075e3a10f1ef85 (diff) |
Add option to exclude selected resources on export
Diffstat (limited to 'editor')
-rw-r--r-- | editor/editor_export.cpp | 13 | ||||
-rw-r--r-- | editor/editor_export.h | 1 | ||||
-rw-r--r-- | editor/project_export.cpp | 1 |
3 files changed, 15 insertions, 0 deletions
diff --git a/editor/editor_export.cpp b/editor/editor_export.cpp index 97800fe961..db1c6e0407 100644 --- a/editor/editor_export.cpp +++ b/editor/editor_export.cpp @@ -717,6 +717,12 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> & if (p_preset->get_export_filter() == EditorExportPreset::EXPORT_ALL_RESOURCES) { //find stuff _export_find_resources(EditorFileSystem::get_singleton()->get_filesystem(), paths); + } else if (p_preset->get_export_filter() == EditorExportPreset::EXCLUDE_SELECTED_RESOURCES) { + _export_find_resources(EditorFileSystem::get_singleton()->get_filesystem(), paths); + Vector<String> files = p_preset->get_files_to_export(); + for (int i = 0; i < files.size(); i++) { + paths.erase(files[i]); + } } else { bool scenes_only = p_preset->get_export_filter() == EditorExportPreset::EXPORT_SELECTED_SCENES; @@ -1303,6 +1309,10 @@ void EditorExport::_save() { config->set_value(section, "export_filter", "resources"); save_files = true; } break; + case EditorExportPreset::EXCLUDE_SELECTED_RESOURCES: { + config->set_value(section, "export_filter", "exclude"); + save_files = true; + } break; } if (save_files) { @@ -1481,6 +1491,9 @@ void EditorExport::load_config() { } else if (export_filter == "resources") { preset->set_export_filter(EditorExportPreset::EXPORT_SELECTED_RESOURCES); get_files = true; + } else if (export_filter == "exclude") { + preset->set_export_filter(EditorExportPreset::EXCLUDE_SELECTED_RESOURCES); + get_files = true; } if (get_files) { diff --git a/editor/editor_export.h b/editor/editor_export.h index 09feaad255..b83597bbf6 100644 --- a/editor/editor_export.h +++ b/editor/editor_export.h @@ -50,6 +50,7 @@ public: EXPORT_ALL_RESOURCES, EXPORT_SELECTED_SCENES, EXPORT_SELECTED_RESOURCES, + EXCLUDE_SELECTED_RESOURCES, }; enum ScriptExportMode { diff --git a/editor/project_export.cpp b/editor/project_export.cpp index e8c2b1f954..557fd40207 100644 --- a/editor/project_export.cpp +++ b/editor/project_export.cpp @@ -1029,6 +1029,7 @@ ProjectExportDialog::ProjectExportDialog() { export_filter->add_item(TTR("Export all resources in the project")); export_filter->add_item(TTR("Export selected scenes (and dependencies)")); export_filter->add_item(TTR("Export selected resources (and dependencies)")); + export_filter->add_item(TTR("Export all resources in the project except resources checked below")); resources_vb->add_margin_child(TTR("Export Mode:"), export_filter); export_filter->connect("item_selected", callable_mp(this, &ProjectExportDialog::_export_type_changed)); |