Add option to exclude selected resources on export

This commit is contained in:
Tomasz Chabora 2020-11-15 01:54:24 +01:00 committed by kobewi
parent 9e7348f788
commit eb4082b24a
3 changed files with 15 additions and 0 deletions

View file

@ -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) {

View file

@ -50,6 +50,7 @@ public:
EXPORT_ALL_RESOURCES,
EXPORT_SELECTED_SCENES,
EXPORT_SELECTED_RESOURCES,
EXCLUDE_SELECTED_RESOURCES,
};
enum ScriptExportMode {

View file

@ -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));