Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions editor/editor_export.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1693,21 +1693,24 @@ bool EditorExportPlatformPC::has_valid_project_configuration(const Ref<EditorExp
}

bool EditorExportPlatform::can_export(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const {
bool valid = true;
#ifndef ANDROID_ENABLED
String templates_error;
bool valid_export_configuration = has_valid_export_configuration(p_preset, templates_error, r_missing_templates);

String project_configuration_error;
bool valid_project_configuration = has_valid_project_configuration(p_preset, project_configuration_error);
valid = valid && has_valid_export_configuration(p_preset, templates_error, r_missing_templates);

if (!templates_error.empty()) {
r_error += templates_error;
}
#endif

String project_configuration_error;
valid = valid && has_valid_project_configuration(p_preset, project_configuration_error);

if (!project_configuration_error.empty()) {
r_error += project_configuration_error;
}

return valid_export_configuration && valid_project_configuration;
return valid;
}

List<String> EditorExportPlatformPC::get_binary_extensions(const Ref<EditorExportPreset> &p_preset) const {
Expand Down
8 changes: 8 additions & 0 deletions editor/editor_node.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6429,8 +6429,10 @@ EditorNode::EditorNode() {

p->add_separator();
p->add_shortcut(ED_SHORTCUT("editor/export", TTR("Export...")), FILE_EXPORT_PROJECT);
#ifndef ANDROID_ENABLED
p->add_item(TTR("Install Android Build Template..."), FILE_INSTALL_ANDROID_SOURCE);
p->add_item(TTR("Open User Data Folder"), RUN_USER_DATA_FOLDER);
#endif

plugin_config_dialog = memnew(PluginConfigDialog);
plugin_config_dialog->connect("plugin_ready", this, "_on_plugin_ready");
Expand Down Expand Up @@ -6542,13 +6544,16 @@ EditorNode::EditorNode() {
p->add_shortcut(ED_SHORTCUT("editor/take_screenshot", TTR("Take Screenshot"), KEY_MASK_CTRL | KEY_F12), EDITOR_SCREENSHOT);
#endif
p->set_item_tooltip(p->get_item_count() - 1, TTR("Screenshots are stored in the Editor Data/Settings Folder."));
#ifndef ANDROID_ENABLED
#ifdef OSX_ENABLED
p->add_shortcut(ED_SHORTCUT("editor/fullscreen_mode", TTR("Toggle Fullscreen"), KEY_MASK_CMD | KEY_MASK_CTRL | KEY_F), SETTINGS_TOGGLE_FULLSCREEN);
#else
p->add_shortcut(ED_SHORTCUT("editor/fullscreen_mode", TTR("Toggle Fullscreen"), KEY_MASK_SHIFT | KEY_F11), SETTINGS_TOGGLE_FULLSCREEN);
#endif
#endif
p->add_separator();

#ifndef ANDROID_ENABLED
if (OS::get_singleton()->get_data_path() == OS::get_singleton()->get_config_path()) {
// Configuration and data folders are located in the same place (Windows/macOS)
p->add_item(TTR("Open Editor Data/Settings Folder"), SETTINGS_EDITOR_DATA_FOLDER);
Expand All @@ -6558,9 +6563,12 @@ EditorNode::EditorNode() {
p->add_item(TTR("Open Editor Settings Folder"), SETTINGS_EDITOR_CONFIG_FOLDER);
}
p->add_separator();
#endif

p->add_item(TTR("Manage Editor Features..."), SETTINGS_MANAGE_FEATURE_PROFILES);
#ifndef ANDROID_ENABLED
p->add_item(TTR("Manage Export Templates..."), SETTINGS_MANAGE_EXPORT_TEMPLATES);
#endif

// Help Menu
help_menu = memnew(MenuButton);
Expand Down
15 changes: 14 additions & 1 deletion editor/project_export.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -893,8 +893,10 @@ void ProjectExportDialog::_export_project_to_path(const String &p_path) {
}

void ProjectExportDialog::_export_all_dialog() {
#ifndef ANDROID_ENABLED
export_all_dialog->show();
export_all_dialog->popup_centered_minsize(Size2(300, 80));
#endif
}

void ProjectExportDialog::_export_all_dialog_action(const String &p_str) {
Expand Down Expand Up @@ -1152,11 +1154,16 @@ ProjectExportDialog::ProjectExportDialog() {

get_cancel()->set_text(TTR("Close"));
get_ok()->set_text(TTR("Export PCK/Zip..."));
get_ok()->set_disabled(true);
#ifdef ANDROID_ENABLED
export_button = memnew(Button);
export_button->hide();
#else
export_button = add_button(TTR("Export Project..."), !OS::get_singleton()->get_swap_ok_cancel(), "export");
#endif
export_button->connect("pressed", this, "_export_project");
// Disable initially before we select a valid preset
export_button->set_disabled(true);
get_ok()->set_disabled(true);

export_all_dialog = memnew(ConfirmationDialog);
add_child(export_all_dialog);
Expand All @@ -1166,8 +1173,14 @@ ProjectExportDialog::ProjectExportDialog() {
export_all_dialog->add_button(TTR("Debug"), true, "debug");
export_all_dialog->add_button(TTR("Release"), true, "release");
export_all_dialog->connect("custom_action", this, "_export_all_dialog_action");
#ifdef ANDROID_ENABLED
export_all_dialog->hide();

export_all_button = memnew(Button);
export_all_button->hide();
#else
export_all_button = add_button(TTR("Export All..."), !OS::get_singleton()->get_swap_ok_cancel(), "export");
#endif
export_all_button->connect("pressed", this, "_export_all_dialog");
export_all_button->set_disabled(true);

Expand Down
2 changes: 2 additions & 0 deletions platform/android/export/export.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
#include "export_plugin.h"

void register_android_exporter() {
#ifndef ANDROID_ENABLED
EDITOR_DEF("export/android/android_sdk_path", "");
EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::STRING, "export/android/android_sdk_path", PROPERTY_HINT_GLOBAL_DIR));
EDITOR_DEF("export/android/debug_keystore", "");
Expand All @@ -42,6 +43,7 @@ void register_android_exporter() {
EDITOR_DEF("export/android/force_system_user", false);

EDITOR_DEF("export/android/shutdown_adb_on_exit", true);
#endif

Ref<EditorExportPlatformAndroid> exporter = Ref<EditorExportPlatformAndroid>(memnew(EditorExportPlatformAndroid));
EditorExport::get_singleton()->add_export_platform(exporter);
Expand Down
2 changes: 2 additions & 0 deletions platform/javascript/export/export.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1020,6 +1020,7 @@ EditorExportPlatformJavaScript::~EditorExportPlatformJavaScript() {
}

void register_javascript_exporter() {
#ifndef ANDROID_ENABLED
EDITOR_DEF("export/web/http_host", "localhost");
EDITOR_DEF("export/web/http_port", 8060);
EDITOR_DEF("export/web/use_ssl", false);
Expand All @@ -1028,6 +1029,7 @@ void register_javascript_exporter() {
EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::INT, "export/web/http_port", PROPERTY_HINT_RANGE, "1,65535,1"));
EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::STRING, "export/web/ssl_key", PROPERTY_HINT_GLOBAL_FILE, "*.key"));
EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::STRING, "export/web/ssl_certificate", PROPERTY_HINT_GLOBAL_FILE, "*.crt,*.pem"));
#endif

Ref<EditorExportPlatformJavaScript> platform;
platform.instance();
Expand Down
2 changes: 2 additions & 0 deletions platform/osx/export/export.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1582,8 +1582,10 @@ EditorExportPlatformOSX::~EditorExportPlatformOSX() {
}

void register_osx_exporter() {
#ifndef ANDROID_ENABLED
EDITOR_DEF("export/macos/force_builtin_codesign", false);
EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::BOOL, "export/macos/force_builtin_codesign", PROPERTY_HINT_NONE));
#endif

Ref<EditorExportPlatformOSX> platform;
platform.instance();
Expand Down
2 changes: 2 additions & 0 deletions platform/windows/export/export.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -524,6 +524,7 @@ Error EditorExportPlatformWindows::fixup_embedded_pck(const String &p_path, int6
}

void register_windows_exporter() {
#ifndef ANDROID_ENABLED
EDITOR_DEF("export/windows/rcedit", "");
EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::STRING, "export/windows/rcedit", PROPERTY_HINT_GLOBAL_FILE, "*.exe"));
#ifdef WINDOWS_ENABLED
Expand All @@ -535,6 +536,7 @@ void register_windows_exporter() {
// On non-Windows we need WINE to run rcedit
EDITOR_DEF("export/windows/wine", "");
EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::STRING, "export/windows/wine", PROPERTY_HINT_GLOBAL_FILE));
#endif
#endif

Ref<EditorExportPlatformWindows> platform;
Expand Down