summaryrefslogtreecommitdiff
path: root/tools/editor
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2016-01-27 07:23:12 -0300
committerJuan Linietsky <reduzio@gmail.com>2016-01-27 07:23:51 -0300
commit1d99e71d94add700ece9b1bf3a708ba33e6e1f75 (patch)
tree518568cf24f0de35292f8da9d8ffd5923a780f30 /tools/editor
parent93bef9b9b176a58372ac6e765378fce03e65e39a (diff)
defer project export filesystem update if not visible
Diffstat (limited to 'tools/editor')
-rw-r--r--tools/editor/editor_node.cpp2
-rw-r--r--tools/editor/project_export.cpp19
-rw-r--r--tools/editor/project_export.h2
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();
};