diff options
author | Juan Linietsky <reduzio@gmail.com> | 2016-01-27 07:23:12 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2016-01-27 07:23:51 -0300 |
commit | 1d99e71d94add700ece9b1bf3a708ba33e6e1f75 (patch) | |
tree | 518568cf24f0de35292f8da9d8ffd5923a780f30 /tools/editor | |
parent | 93bef9b9b176a58372ac6e765378fce03e65e39a (diff) |
defer project export filesystem update if not visible
Diffstat (limited to 'tools/editor')
-rw-r--r-- | tools/editor/editor_node.cpp | 2 | ||||
-rw-r--r-- | tools/editor/project_export.cpp | 19 | ||||
-rw-r--r-- | tools/editor/project_export.h | 2 |
3 files changed, 21 insertions, 2 deletions
diff --git a/tools/editor/editor_node.cpp b/tools/editor/editor_node.cpp index 79f5e66401..39e848201a 100644 --- a/tools/editor/editor_node.cpp +++ b/tools/editor/editor_node.cpp @@ -2214,7 +2214,7 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) { case FILE_EXPORT_PROJECT: { - project_export_settings->popup_centered_ratio(); + project_export_settings->popup_export(); /* String target = export_db->get_current_platform(); Ref<EditorExporter> exporter = export_db->get_exporter(target); diff --git a/tools/editor/project_export.cpp b/tools/editor/project_export.cpp index 7690d31e7b..164443d001 100644 --- a/tools/editor/project_export.cpp +++ b/tools/editor/project_export.cpp @@ -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() { @@ -168,6 +177,11 @@ void ProjectExportDialog::_scan_finished() { print_line("**********SCAN DONEEE********"); print_line("**********SCAN DONEEE********");*/ + if (!is_visible()) { + pending_update_tree=true; + return; + } + _update_tree(); _update_group_tree(); } @@ -1446,7 +1460,7 @@ ProjectExportDialog::ProjectExportDialog(EditorNode *p_editor) { ei="EditorIcons"; ot="Object"; - + pending_update_tree=true; } @@ -1480,6 +1494,8 @@ void ProjectExport::popup_export() { popup_centered(Size2(300,100)); + + } Error ProjectExport::export_project(const String& p_preset) { @@ -1880,5 +1896,6 @@ ProjectExport::ProjectExport(EditorData* p_data) { error = memnew( AcceptDialog ); add_child(error); + } diff --git a/tools/editor/project_export.h b/tools/editor/project_export.h index 5a42a58e58..b9e49489e3 100644 --- a/tools/editor/project_export.h +++ b/tools/editor/project_export.h @@ -70,6 +70,7 @@ private: TabContainer *sections; bool updating_tree; + bool pending_update_tree; AcceptDialog *error; 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); + void popup_export(); ProjectExportDialog(EditorNode *p_editor); ~ProjectExportDialog(); }; |