mirror of
https://github.com/godotengine/godot
synced 2024-09-05 21:10:10 +00:00
Fixes to make exporting more responsive.
-Process and drop input in step functions. -Hide editor file dialog right after pressing ok -Use actual editor file dialogs for project export.
This commit is contained in:
parent
e1d16e722e
commit
faaecd6987
|
@ -233,8 +233,8 @@ void EditorFileDialog::_file_entered(const String &p_file) {
|
||||||
void EditorFileDialog::_save_confirm_pressed() {
|
void EditorFileDialog::_save_confirm_pressed() {
|
||||||
String f = dir_access->get_current_dir().plus_file(file->get_text());
|
String f = dir_access->get_current_dir().plus_file(file->get_text());
|
||||||
_save_to_recent();
|
_save_to_recent();
|
||||||
emit_signal("file_selected", f);
|
|
||||||
hide();
|
hide();
|
||||||
|
emit_signal("file_selected", f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void EditorFileDialog::_post_popup() {
|
void EditorFileDialog::_post_popup() {
|
||||||
|
@ -343,8 +343,8 @@ void EditorFileDialog::_action_pressed() {
|
||||||
|
|
||||||
if (files.size()) {
|
if (files.size()) {
|
||||||
_save_to_recent();
|
_save_to_recent();
|
||||||
emit_signal("files_selected", files);
|
|
||||||
hide();
|
hide();
|
||||||
|
emit_signal("files_selected", files);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
@ -354,8 +354,8 @@ void EditorFileDialog::_action_pressed() {
|
||||||
|
|
||||||
if ((mode == MODE_OPEN_ANY || mode == MODE_OPEN_FILE) && dir_access->file_exists(f)) {
|
if ((mode == MODE_OPEN_ANY || mode == MODE_OPEN_FILE) && dir_access->file_exists(f)) {
|
||||||
_save_to_recent();
|
_save_to_recent();
|
||||||
emit_signal("file_selected", f);
|
|
||||||
hide();
|
hide();
|
||||||
|
emit_signal("file_selected", f);
|
||||||
} else if (mode == MODE_OPEN_ANY || mode == MODE_OPEN_DIR) {
|
} else if (mode == MODE_OPEN_ANY || mode == MODE_OPEN_DIR) {
|
||||||
|
|
||||||
String path = dir_access->get_current_dir();
|
String path = dir_access->get_current_dir();
|
||||||
|
@ -374,8 +374,8 @@ void EditorFileDialog::_action_pressed() {
|
||||||
}
|
}
|
||||||
|
|
||||||
_save_to_recent();
|
_save_to_recent();
|
||||||
emit_signal("dir_selected", path);
|
|
||||||
hide();
|
hide();
|
||||||
|
emit_signal("dir_selected", path);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mode == MODE_SAVE_FILE) {
|
if (mode == MODE_SAVE_FILE) {
|
||||||
|
@ -441,8 +441,8 @@ void EditorFileDialog::_action_pressed() {
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
_save_to_recent();
|
_save_to_recent();
|
||||||
emit_signal("file_selected", f);
|
|
||||||
hide();
|
hide();
|
||||||
|
emit_signal("file_selected", f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -161,6 +161,7 @@ void ProgressDialog::_popup() {
|
||||||
main->set_margin(MARGIN_TOP, style->get_margin(MARGIN_TOP));
|
main->set_margin(MARGIN_TOP, style->get_margin(MARGIN_TOP));
|
||||||
main->set_margin(MARGIN_BOTTOM, -style->get_margin(MARGIN_BOTTOM));
|
main->set_margin(MARGIN_BOTTOM, -style->get_margin(MARGIN_BOTTOM));
|
||||||
|
|
||||||
|
raise();
|
||||||
popup_centered(ms);
|
popup_centered(ms);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -219,6 +220,8 @@ bool ProgressDialog::task_step(const String &p_task, const String &p_state, int
|
||||||
last_progress_tick = OS::get_singleton()->get_ticks_usec();
|
last_progress_tick = OS::get_singleton()->get_ticks_usec();
|
||||||
if (cancel_hb->is_visible()) {
|
if (cancel_hb->is_visible()) {
|
||||||
OS::get_singleton()->force_process_input();
|
OS::get_singleton()->force_process_input();
|
||||||
|
} else {
|
||||||
|
OS::get_singleton()->process_and_drop_events();
|
||||||
}
|
}
|
||||||
Main::iteration(); // this will not work on a lot of platforms, so it's only meant for the editor
|
Main::iteration(); // this will not work on a lot of platforms, so it's only meant for the editor
|
||||||
return cancelled;
|
return cancelled;
|
||||||
|
|
|
@ -931,7 +931,7 @@ void ProjectExportDialog::_export_project() {
|
||||||
Ref<EditorExportPlatform> platform = current->get_platform();
|
Ref<EditorExportPlatform> platform = current->get_platform();
|
||||||
ERR_FAIL_COND(platform.is_null());
|
ERR_FAIL_COND(platform.is_null());
|
||||||
|
|
||||||
export_project->set_access(FileDialog::ACCESS_FILESYSTEM);
|
export_project->set_access(EditorFileDialog::ACCESS_FILESYSTEM);
|
||||||
export_project->clear_filters();
|
export_project->clear_filters();
|
||||||
|
|
||||||
List<String> extension_list = platform->get_binary_extensions(current);
|
List<String> extension_list = platform->get_binary_extensions(current);
|
||||||
|
@ -955,7 +955,7 @@ void ProjectExportDialog::_export_project() {
|
||||||
export_project->get_line_edit()->connect("text_entered", export_project, "_file_entered");
|
export_project->get_line_edit()->connect("text_entered", export_project, "_file_entered");
|
||||||
}
|
}
|
||||||
|
|
||||||
export_project->set_mode(FileDialog::MODE_SAVE_FILE);
|
export_project->set_mode(EditorFileDialog::MODE_SAVE_FILE);
|
||||||
export_project->popup_centered_ratio();
|
export_project->popup_centered_ratio();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1184,9 +1184,9 @@ ProjectExportDialog::ProjectExportDialog() {
|
||||||
patches_hb->add_child(patch_export);
|
patches_hb->add_child(patch_export);
|
||||||
patches_hb->add_spacer();
|
patches_hb->add_spacer();
|
||||||
|
|
||||||
patch_dialog = memnew(FileDialog);
|
patch_dialog = memnew(EditorFileDialog);
|
||||||
patch_dialog->add_filter("*.pck ; Pack File");
|
patch_dialog->add_filter("*.pck ; Pack File");
|
||||||
patch_dialog->set_mode(FileDialog::MODE_OPEN_FILE);
|
patch_dialog->set_mode(EditorFileDialog::MODE_OPEN_FILE);
|
||||||
patch_dialog->connect("file_selected", this, "_patch_selected");
|
patch_dialog->connect("file_selected", this, "_patch_selected");
|
||||||
add_child(patch_dialog);
|
add_child(patch_dialog);
|
||||||
|
|
||||||
|
@ -1266,11 +1266,11 @@ ProjectExportDialog::ProjectExportDialog() {
|
||||||
export_all_button->connect("pressed", this, "_export_all_dialog");
|
export_all_button->connect("pressed", this, "_export_all_dialog");
|
||||||
export_all_button->set_disabled(true);
|
export_all_button->set_disabled(true);
|
||||||
|
|
||||||
export_pck_zip = memnew(FileDialog);
|
export_pck_zip = memnew(EditorFileDialog);
|
||||||
export_pck_zip->add_filter("*.zip ; ZIP File");
|
export_pck_zip->add_filter("*.zip ; ZIP File");
|
||||||
export_pck_zip->add_filter("*.pck ; Godot Game Pack");
|
export_pck_zip->add_filter("*.pck ; Godot Game Pack");
|
||||||
export_pck_zip->set_access(FileDialog::ACCESS_FILESYSTEM);
|
export_pck_zip->set_access(EditorFileDialog::ACCESS_FILESYSTEM);
|
||||||
export_pck_zip->set_mode(FileDialog::MODE_SAVE_FILE);
|
export_pck_zip->set_mode(EditorFileDialog::MODE_SAVE_FILE);
|
||||||
add_child(export_pck_zip);
|
add_child(export_pck_zip);
|
||||||
export_pck_zip->connect("file_selected", this, "_export_pck_zip_selected");
|
export_pck_zip->connect("file_selected", this, "_export_pck_zip_selected");
|
||||||
|
|
||||||
|
@ -1300,8 +1300,8 @@ ProjectExportDialog::ProjectExportDialog() {
|
||||||
export_templates_error->add_child(download_templates);
|
export_templates_error->add_child(download_templates);
|
||||||
download_templates->connect("pressed", this, "_open_export_template_manager");
|
download_templates->connect("pressed", this, "_open_export_template_manager");
|
||||||
|
|
||||||
export_project = memnew(FileDialog);
|
export_project = memnew(EditorFileDialog);
|
||||||
export_project->set_access(FileDialog::ACCESS_FILESYSTEM);
|
export_project->set_access(EditorFileDialog::ACCESS_FILESYSTEM);
|
||||||
add_child(export_project);
|
add_child(export_project);
|
||||||
export_project->connect("file_selected", this, "_export_project_to_path");
|
export_project->connect("file_selected", this, "_export_project_to_path");
|
||||||
export_project->get_line_edit()->connect("text_changed", this, "_validate_export_path");
|
export_project->get_line_edit()->connect("text_changed", this, "_validate_export_path");
|
||||||
|
|
|
@ -90,7 +90,7 @@ private:
|
||||||
Tree *patches;
|
Tree *patches;
|
||||||
Button *patch_export;
|
Button *patch_export;
|
||||||
int patch_index;
|
int patch_index;
|
||||||
FileDialog *patch_dialog;
|
EditorFileDialog *patch_dialog;
|
||||||
ConfirmationDialog *patch_erase;
|
ConfirmationDialog *patch_erase;
|
||||||
|
|
||||||
Button *export_button;
|
Button *export_button;
|
||||||
|
@ -139,8 +139,8 @@ private:
|
||||||
bool can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const;
|
bool can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const;
|
||||||
void drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from);
|
void drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from);
|
||||||
|
|
||||||
FileDialog *export_pck_zip;
|
EditorFileDialog *export_pck_zip;
|
||||||
FileDialog *export_project;
|
EditorFileDialog *export_project;
|
||||||
CheckBox *export_debug;
|
CheckBox *export_debug;
|
||||||
CheckBox *export_pck_zip_debug;
|
CheckBox *export_pck_zip_debug;
|
||||||
|
|
||||||
|
|
|
@ -2485,7 +2485,7 @@ Error OS_Windows::execute(const String &p_path, const List<String> &p_arguments,
|
||||||
}
|
}
|
||||||
(*r_pipe) += buf;
|
(*r_pipe) += buf;
|
||||||
if (p_pipe_mutex) {
|
if (p_pipe_mutex) {
|
||||||
p_pipe_mutex->lock();
|
p_pipe_mutex->unlock();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue