| 45 | EditorExport *EditorExport::singleton = nullptr; |
| 46 | |
| 47 | void EditorExport::_save() { |
| 48 | Ref<ConfigFile> config; |
| 49 | Ref<ConfigFile> credentials; |
| 50 | config.instantiate(); |
| 51 | credentials.instantiate(); |
| 52 | for (int i = 0; i < export_presets.size(); i++) { |
| 53 | Ref<EditorExportPreset> preset = export_presets[i]; |
| 54 | String section = "preset." + itos(i); |
| 55 | |
| 56 | config->set_value(section, "name", preset->get_name()); |
| 57 | config->set_value(section, "platform", preset->get_platform()->get_name()); |
| 58 | config->set_value(section, "runnable", preset->is_runnable()); |
| 59 | config->set_value(section, "advanced_options", preset->are_advanced_options_enabled()); |
| 60 | config->set_value(section, "dedicated_server", preset->is_dedicated_server()); |
| 61 | config->set_value(section, "custom_features", preset->get_custom_features()); |
| 62 | |
| 63 | bool save_files = false; |
| 64 | switch (preset->get_export_filter()) { |
| 65 | case EditorExportPreset::EXPORT_ALL_RESOURCES: { |
| 66 | config->set_value(section, "export_filter", "all_resources"); |
| 67 | } break; |
| 68 | case EditorExportPreset::EXPORT_SELECTED_SCENES: { |
| 69 | config->set_value(section, "export_filter", "scenes"); |
| 70 | save_files = true; |
| 71 | } break; |
| 72 | case EditorExportPreset::EXPORT_SELECTED_RESOURCES: { |
| 73 | config->set_value(section, "export_filter", "resources"); |
| 74 | save_files = true; |
| 75 | } break; |
| 76 | case EditorExportPreset::EXCLUDE_SELECTED_RESOURCES: { |
| 77 | config->set_value(section, "export_filter", "exclude"); |
| 78 | save_files = true; |
| 79 | } break; |
| 80 | case EditorExportPreset::EXPORT_CUSTOMIZED: { |
| 81 | config->set_value(section, "export_filter", "customized"); |
| 82 | config->set_value(section, "customized_files", preset->get_customized_files()); |
| 83 | save_files = false; |
| 84 | }; |
| 85 | } |
| 86 | |
| 87 | if (save_files) { |
| 88 | Vector<String> export_files = preset->get_files_to_export(); |
| 89 | config->set_value(section, "export_files", export_files); |
| 90 | } |
| 91 | config->set_value(section, "include_filter", preset->get_include_filter()); |
| 92 | config->set_value(section, "exclude_filter", preset->get_exclude_filter()); |
| 93 | config->set_value(section, "export_path", preset->get_export_path()); |
| 94 | config->set_value(section, "patches", preset->get_patches()); |
| 95 | |
| 96 | config->set_value(section, "encryption_include_filters", preset->get_enc_in_filter()); |
| 97 | config->set_value(section, "encryption_exclude_filters", preset->get_enc_ex_filter()); |
| 98 | config->set_value(section, "seed", preset->get_seed()); |
| 99 | |
| 100 | config->set_value(section, "encrypt_pck", preset->get_enc_pck()); |
| 101 | config->set_value(section, "encrypt_directory", preset->get_enc_directory()); |
| 102 | config->set_value(section, "script_export_mode", preset->get_script_export_mode()); |
| 103 | credentials->set_value(section, "script_encryption_key", preset->get_script_encryption_key()); |
| 104 |
nothing calls this directly
no test coverage detected