Browse Source

-Do not ask about overwriting when opening a script in the wizard, but still show complaint about existing. Closes #4545
-Fixed a crash in EditorDirDialog

Juan Linietsky 9 years ago
parent
commit
935a568444

+ 15 - 0
tools/editor/editor_dir_dialog.cpp

@@ -78,6 +78,11 @@ void EditorDirDialog::_update_dir(TreeItem* p_item) {
 
 
 void EditorDirDialog::reload() {
 void EditorDirDialog::reload() {
 
 
+	if (!is_visible()) {
+		must_reload=true;
+		return;
+	}
+
 	tree->clear();
 	tree->clear();
 	TreeItem *root = tree->create_item();
 	TreeItem *root = tree->create_item();
 	root->set_metadata(0,"res://");
 	root->set_metadata(0,"res://");
@@ -85,6 +90,8 @@ void EditorDirDialog::reload() {
 	root->set_text(0,"/");
 	root->set_text(0,"/");
 	_update_dir(root);
 	_update_dir(root);
 	_item_collapsed(root);
 	_item_collapsed(root);
+	must_reload=false;
+
 }
 }
 
 
 
 
@@ -96,6 +103,12 @@ void EditorDirDialog::_notification(int p_what) {
 		EditorFileSystem::get_singleton()->connect("filesystem_changed",this,"reload");
 		EditorFileSystem::get_singleton()->connect("filesystem_changed",this,"reload");
 
 
 	}
 	}
+
+	if (p_what==NOTIFICATION_VISIBILITY_CHANGED) {
+		if (must_reload && is_visible()) {
+			reload();
+		}
+	}
 }
 }
 
 
 void EditorDirDialog::_item_collapsed(Object* _p_item){
 void EditorDirDialog::_item_collapsed(Object* _p_item){
@@ -243,6 +256,8 @@ EditorDirDialog::EditorDirDialog() {
 
 
 	get_ok()->set_text(TTR("Choose"));
 	get_ok()->set_text(TTR("Choose"));
 
 
+	must_reload=false;
+
 
 
 
 
 }
 }

+ 2 - 0
tools/editor/editor_dir_dialog.h

@@ -54,6 +54,8 @@ class EditorDirDialog : public ConfirmationDialog {
 
 
 	void ok_pressed();
 	void ok_pressed();
 
 
+	bool must_reload;
+
 
 
 protected:
 protected:
 
 

+ 1 - 1
tools/editor/script_create_dialog.cpp

@@ -184,7 +184,7 @@ void ScriptCreateDialog::_built_in_pressed() {
 
 
 void ScriptCreateDialog::_browse_path() {
 void ScriptCreateDialog::_browse_path() {
 
 
-	file_browse->set_mode(EditorFileDialog::MODE_SAVE_FILE);
+	file_browse->set_mode(EditorFileDialog::MODE_OPEN_FILE);
 	file_browse->clear_filters();
 	file_browse->clear_filters();
 	List<String> extensions;
 	List<String> extensions;