Browse Source

update EditorDirDialog on external change, closes #4629

Juan Linietsky 9 years ago
parent
commit
5e7f1fc79b
3 changed files with 12 additions and 2 deletions
  1. 3 2
      main/main.cpp
  2. 7 0
      tools/editor/editor_dir_dialog.cpp
  3. 2 0
      tools/editor/editor_dir_dialog.h

+ 3 - 2
main/main.cpp

@@ -110,6 +110,7 @@ static bool use_debug_profiler=false;
 static bool force_lowdpi=false;
 static int init_screen=-1;
 static bool use_vsync=true;
+static bool editor=false;
 
 static String unescape_cmdline(const String& p_str) {
 
@@ -281,7 +282,7 @@ Error Main::setup(const char *execpath,int argc, char *argv[],bool p_second_phas
 	packed_data->add_pack_source(zip_packed_data);
 #endif
 
-	bool editor=false;
+
 
 	while(I) {
 
@@ -953,7 +954,7 @@ Error Main::setup2() {
 	Globals::get_singleton()->set_custom_property_info("application/icon",PropertyInfo(Variant::STRING,"application/icon",PROPERTY_HINT_FILE,"*.png,*.webp"));
 
 	if (bool(GLOBAL_DEF("display/emulate_touchscreen",false))) {
-		if (!OS::get_singleton()->has_touchscreen_ui_hint() && Input::get_singleton()) {
+		if (!OS::get_singleton()->has_touchscreen_ui_hint() && Input::get_singleton() && !editor) {
 			//only if no touchscreen ui hint, set emulation
 			InputDefault *id = Input::get_singleton()->cast_to<InputDefault>();
 			if (id)

+ 7 - 0
tools/editor/editor_dir_dialog.cpp

@@ -30,6 +30,7 @@
 #include "os/os.h"
 #include "os/keyboard.h"
 #include "tools/editor/editor_settings.h"
+#include "tools/editor/editor_file_system.h"
 
 
 void EditorDirDialog::_update_dir(TreeItem* p_item) {
@@ -86,11 +87,14 @@ void EditorDirDialog::reload() {
 	_item_collapsed(root);
 }
 
+
 void EditorDirDialog::_notification(int p_what) {
 
 	if (p_what==NOTIFICATION_ENTER_TREE) {
 		reload();
 		tree->connect("item_collapsed",this,"_item_collapsed",varray(),CONNECT_DEFERRED);
+		EditorFileSystem::get_singleton()->connect("filesystem_changed",this,"reload");
+
 	}
 }
 
@@ -198,6 +202,7 @@ void EditorDirDialog::_bind_methods() {
 	ObjectTypeDB::bind_method(_MD("_item_collapsed"),&EditorDirDialog::_item_collapsed);
 	ObjectTypeDB::bind_method(_MD("_make_dir"),&EditorDirDialog::_make_dir);
 	ObjectTypeDB::bind_method(_MD("_make_dir_confirm"),&EditorDirDialog::_make_dir_confirm);
+	ObjectTypeDB::bind_method(_MD("reload"),&EditorDirDialog::reload);
 
 	ADD_SIGNAL(MethodInfo("dir_selected",PropertyInfo(Variant::STRING,"dir")));
 }
@@ -238,4 +243,6 @@ EditorDirDialog::EditorDirDialog() {
 
 	get_ok()->set_text(TTR("Choose"));
 
+
+
 }

+ 2 - 0
tools/editor/editor_dir_dialog.h

@@ -53,6 +53,8 @@ class EditorDirDialog : public ConfirmationDialog {
 	void _make_dir_confirm();
 
 	void ok_pressed();
+
+
 protected:
 
 	void _notification(int p_what);