defer project export filesystem update if not visible

This commit is contained in:
Juan Linietsky 2016-01-27 07:23:12 -03:00
parent 93bef9b9b1
commit 1d99e71d94
3 changed files with 21 additions and 2 deletions

View file

@ -2214,7 +2214,7 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
case FILE_EXPORT_PROJECT: { case FILE_EXPORT_PROJECT: {
project_export_settings->popup_centered_ratio(); project_export_settings->popup_export();
/* /*
String target = export_db->get_current_platform(); String target = export_db->get_current_platform();
Ref<EditorExporter> exporter = export_db->get_exporter(target); Ref<EditorExporter> exporter = export_db->get_exporter(target);

View file

@ -122,6 +122,15 @@ void ProjectExportDialog::_tree_changed() {
} }
void ProjectExportDialog::popup_export() {
popup_centered_ratio();
if (pending_update_tree) {
_update_tree();
_update_group_tree();
pending_update_tree=false;
}
}
void ProjectExportDialog::_update_tree() { void ProjectExportDialog::_update_tree() {
@ -168,6 +177,11 @@ void ProjectExportDialog::_scan_finished() {
print_line("**********SCAN DONEEE********"); print_line("**********SCAN DONEEE********");
print_line("**********SCAN DONEEE********");*/ print_line("**********SCAN DONEEE********");*/
if (!is_visible()) {
pending_update_tree=true;
return;
}
_update_tree(); _update_tree();
_update_group_tree(); _update_group_tree();
} }
@ -1446,7 +1460,7 @@ ProjectExportDialog::ProjectExportDialog(EditorNode *p_editor) {
ei="EditorIcons"; ei="EditorIcons";
ot="Object"; ot="Object";
pending_update_tree=true;
} }
@ -1480,6 +1494,8 @@ void ProjectExport::popup_export() {
popup_centered(Size2(300,100)); popup_centered(Size2(300,100));
} }
Error ProjectExport::export_project(const String& p_preset) { Error ProjectExport::export_project(const String& p_preset) {
@ -1880,5 +1896,6 @@ ProjectExport::ProjectExport(EditorData* p_data) {
error = memnew( AcceptDialog ); error = memnew( AcceptDialog );
add_child(error); add_child(error);
} }

View file

@ -70,6 +70,7 @@ private:
TabContainer *sections; TabContainer *sections;
bool updating_tree; bool updating_tree;
bool pending_update_tree;
AcceptDialog *error; AcceptDialog *error;
ConfirmationDialog *confirm; ConfirmationDialog *confirm;
@ -203,6 +204,7 @@ public:
Error export_platform(const String& p_platform, const String& p_path, bool p_debug,const String& p_password,bool p_quit_after=false); Error export_platform(const String& p_platform, const String& p_path, bool p_debug,const String& p_password,bool p_quit_after=false);
void popup_export();
ProjectExportDialog(EditorNode *p_editor); ProjectExportDialog(EditorNode *p_editor);
~ProjectExportDialog(); ~ProjectExportDialog();
}; };