summaryrefslogtreecommitdiffstats
path: root/editor/export/project_export.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'editor/export/project_export.cpp')
-rw-r--r--editor/export/project_export.cpp58
1 files changed, 39 insertions, 19 deletions
diff --git a/editor/export/project_export.cpp b/editor/export/project_export.cpp
index 038e357ce2..dd283ebfd6 100644
--- a/editor/export/project_export.cpp
+++ b/editor/export/project_export.cpp
@@ -88,7 +88,7 @@ ProjectExportTextureFormatError::ProjectExportTextureFormatError() {
fix_texture_format_button->set_v_size_flags(Control::SIZE_SHRINK_CENTER);
fix_texture_format_button->set_text(TTR("Fix Import"));
add_child(fix_texture_format_button);
- fix_texture_format_button->connect("pressed", callable_mp(this, &ProjectExportTextureFormatError::_on_fix_texture_format_pressed));
+ fix_texture_format_button->connect(SceneStringName(pressed), callable_mp(this, &ProjectExportTextureFormatError::_on_fix_texture_format_pressed));
}
void ProjectExportDialog::_notification(int p_what) {
@@ -131,7 +131,7 @@ void ProjectExportDialog::popup_export() {
if (saved_size != Rect2()) {
popup(saved_size);
} else {
- popup_centered_clamped(Size2(900, 700) * EDSCALE, 0.8);
+ popup_centered_clamped(Size2(900, 500) * EDSCALE, 0.7);
}
}
@@ -270,8 +270,8 @@ void ProjectExportDialog::_edit_preset(int p_index) {
List<String> extension_list = current->get_platform()->get_binary_extensions(current);
Vector<String> extension_vector;
- for (int i = 0; i < extension_list.size(); i++) {
- extension_vector.push_back("*." + extension_list[i]);
+ for (const String &extension : extension_list) {
+ extension_vector.push_back("*." + extension);
}
export_path->setup(extension_vector, false, true);
@@ -419,6 +419,12 @@ void ProjectExportDialog::_update_feature_list() {
feature_set.insert(E);
}
+#ifdef REAL_T_IS_DOUBLE
+ feature_set.insert("double");
+#else
+ feature_set.insert("single");
+#endif // REAL_T_IS_DOUBLE
+
custom_feature_display->clear();
String text;
bool first = true;
@@ -1083,16 +1089,16 @@ void ProjectExportDialog::_export_project() {
export_project->clear_filters();
List<String> extension_list = platform->get_binary_extensions(current);
- for (int i = 0; i < extension_list.size(); i++) {
+ for (const String &extension : extension_list) {
// TRANSLATORS: This is the name of a project export file format. %s will be replaced by the platform name.
- export_project->add_filter("*." + extension_list[i], vformat(TTR("%s Export"), platform->get_name()));
+ export_project->add_filter("*." + extension, vformat(TTR("%s Export"), platform->get_name()));
}
if (!current->get_export_path().is_empty()) {
export_project->set_current_path(current->get_export_path());
} else {
if (extension_list.size() >= 1) {
- export_project->set_current_file(default_filename + "." + extension_list[0]);
+ export_project->set_current_file(default_filename + "." + extension_list.front()->get());
} else {
export_project->set_current_file(default_filename);
}
@@ -1245,12 +1251,12 @@ ProjectExportDialog::ProjectExportDialog() {
duplicate_preset->set_tooltip_text(TTR("Duplicate"));
duplicate_preset->set_flat(true);
preset_hb->add_child(duplicate_preset);
- duplicate_preset->connect("pressed", callable_mp(this, &ProjectExportDialog::_duplicate_preset));
+ duplicate_preset->connect(SceneStringName(pressed), callable_mp(this, &ProjectExportDialog::_duplicate_preset));
delete_preset = memnew(Button);
delete_preset->set_tooltip_text(TTR("Delete"));
delete_preset->set_flat(true);
preset_hb->add_child(delete_preset);
- delete_preset->connect("pressed", callable_mp(this, &ProjectExportDialog::_delete_preset));
+ delete_preset->connect(SceneStringName(pressed), callable_mp(this, &ProjectExportDialog::_delete_preset));
// Preset settings.
@@ -1265,12 +1271,12 @@ ProjectExportDialog::ProjectExportDialog() {
runnable = memnew(CheckButton);
runnable->set_text(TTR("Runnable"));
runnable->set_tooltip_text(TTR("If checked, the preset will be available for use in one-click deploy.\nOnly one preset per platform may be marked as runnable."));
- runnable->connect("pressed", callable_mp(this, &ProjectExportDialog::_runnable_pressed));
+ runnable->connect(SceneStringName(pressed), callable_mp(this, &ProjectExportDialog::_runnable_pressed));
advanced_options = memnew(CheckButton);
advanced_options->set_text(TTR("Advanced Options"));
advanced_options->set_tooltip_text(TTR("If checked, the advanced options will be shown."));
- advanced_options->connect("pressed", callable_mp(this, &ProjectExportDialog::_advanced_options_pressed));
+ advanced_options->connect(SceneStringName(pressed), callable_mp(this, &ProjectExportDialog::_advanced_options_pressed));
HBoxContainer *preset_configs_container = memnew(HBoxContainer);
preset_configs_container->add_spacer(true);
@@ -1305,9 +1311,15 @@ ProjectExportDialog::ProjectExportDialog() {
// Resources export parameters.
+ ScrollContainer *resources_scroll_container = memnew(ScrollContainer);
+ resources_scroll_container->set_name(TTR("Resources"));
+ resources_scroll_container->set_horizontal_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED);
+ sections->add_child(resources_scroll_container);
+
VBoxContainer *resources_vb = memnew(VBoxContainer);
- sections->add_child(resources_vb);
- resources_vb->set_name(TTR("Resources"));
+ resources_vb->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ resources_vb->set_v_size_flags(Control::SIZE_EXPAND_FILL);
+ resources_scroll_container->add_child(resources_vb);
export_filter = memnew(OptionButton);
export_filter->add_item(TTR("Export all resources in the project"));
@@ -1326,6 +1338,7 @@ ProjectExportDialog::ProjectExportDialog() {
resources_vb->add_child(include_margin);
include_files = memnew(Tree);
+ include_files->set_custom_minimum_size(Size2(1, 75 * EDSCALE));
include_margin->add_child(include_files);
include_files->set_auto_translate_mode(AUTO_TRANSLATE_MODE_DISABLED);
include_files->connect("item_edited", callable_mp(this, &ProjectExportDialog::_tree_changed));
@@ -1378,18 +1391,25 @@ ProjectExportDialog::ProjectExportDialog() {
VBoxContainer *feature_vb = memnew(VBoxContainer);
feature_vb->set_name(TTR("Features"));
+ feature_vb->set_h_size_flags(Control::SIZE_EXPAND_FILL);
custom_features = memnew(LineEdit);
custom_features->connect("text_changed", callable_mp(this, &ProjectExportDialog::_custom_features_changed));
feature_vb->add_margin_child(TTR("Custom (comma-separated):"), custom_features);
custom_feature_display = memnew(RichTextLabel);
+ custom_feature_display->set_custom_minimum_size(Size2(1, 75 * EDSCALE));
custom_feature_display->set_v_size_flags(Control::SIZE_EXPAND_FILL);
feature_vb->add_margin_child(TTR("Feature List:"), custom_feature_display, true);
sections->add_child(feature_vb);
// Encryption export parameters.
+ ScrollContainer *sec_scroll_container = memnew(ScrollContainer);
+ sec_scroll_container->set_name(TTR("Encryption"));
+ sec_scroll_container->set_horizontal_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED);
+
VBoxContainer *sec_vb = memnew(VBoxContainer);
- sec_vb->set_name(TTR("Encryption"));
+ sec_vb->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ sec_scroll_container->add_child(sec_vb);
enc_pck = memnew(CheckButton);
enc_pck->connect("toggled", callable_mp(this, &ProjectExportDialog::_enc_pck_changed));
@@ -1420,7 +1440,7 @@ ProjectExportDialog::ProjectExportDialog() {
script_key_error->add_theme_color_override("font_color", EditorNode::get_singleton()->get_editor_theme()->get_color(SNAME("error_color"), EditorStringName(Editor)));
sec_vb->add_margin_child(TTR("Encryption Key (256-bits as hexadecimal):"), script_key);
sec_vb->add_child(script_key_error);
- sections->add_child(sec_vb);
+ sections->add_child(sec_scroll_container);
Label *sec_info = memnew(Label);
sec_info->set_text(TTR("Note: Encryption key needs to be stored in the binary,\nyou need to build the export templates from source."));
@@ -1428,7 +1448,7 @@ ProjectExportDialog::ProjectExportDialog() {
LinkButton *sec_more_info = memnew(LinkButton);
sec_more_info->set_text(TTR("More Info..."));
- sec_more_info->connect("pressed", callable_mp(this, &ProjectExportDialog::_open_key_help_link));
+ sec_more_info->connect(SceneStringName(pressed), callable_mp(this, &ProjectExportDialog::_open_key_help_link));
sec_vb->add_child(sec_more_info);
// Script export parameters.
@@ -1478,7 +1498,7 @@ ProjectExportDialog::ProjectExportDialog() {
export_button = add_button(TTR("Export Project..."), !DisplayServer::get_singleton()->get_swap_cancel_ok(), "export");
export_button->set_tooltip_text(TTR("Export the project as a playable build (Godot executable and project data) for the selected preset."));
#endif
- export_button->connect("pressed", callable_mp(this, &ProjectExportDialog::_export_project));
+ export_button->connect(SceneStringName(pressed), callable_mp(this, &ProjectExportDialog::_export_project));
// Disable initially before we select a valid preset
export_button->set_disabled(true);
@@ -1498,7 +1518,7 @@ ProjectExportDialog::ProjectExportDialog() {
#else
export_all_button = add_button(TTR("Export All..."), !DisplayServer::get_singleton()->get_swap_cancel_ok(), "export");
#endif
- export_all_button->connect("pressed", callable_mp(this, &ProjectExportDialog::_export_all_dialog));
+ export_all_button->connect(SceneStringName(pressed), callable_mp(this, &ProjectExportDialog::_export_all_dialog));
export_all_button->set_disabled(true);
export_pck_zip = memnew(EditorFileDialog);
@@ -1548,7 +1568,7 @@ ProjectExportDialog::ProjectExportDialog() {
download_templates->set_text(TTR("Manage Export Templates"));
download_templates->set_v_size_flags(Control::SIZE_SHRINK_CENTER);
export_templates_error->add_child(download_templates);
- download_templates->connect("pressed", callable_mp(this, &ProjectExportDialog::_open_export_template_manager));
+ download_templates->connect(SceneStringName(pressed), callable_mp(this, &ProjectExportDialog::_open_export_template_manager));
// Export project file dialog.