diff options
| -rw-r--r-- | drivers/unix/dir_access_unix.cpp | 31 | ||||
| -rw-r--r-- | drivers/windows/dir_access_windows.cpp | 20 | ||||
| -rw-r--r-- | tools/editor/editor_dir_dialog.cpp | 8 | 
3 files changed, 34 insertions, 25 deletions
diff --git a/drivers/unix/dir_access_unix.cpp b/drivers/unix/dir_access_unix.cpp index f0e4511b1d..544d3883dc 100644 --- a/drivers/unix/dir_access_unix.cpp +++ b/drivers/unix/dir_access_unix.cpp @@ -67,8 +67,8 @@ bool DirAccessUnix::file_exists(String p_file) {  	if (p_file.is_rel_path())  		p_file=current_dir.plus_file(p_file); -	else -		p_file=fix_path(p_file); + +	p_file=fix_path(p_file);  	struct stat flags;  	bool success = 	(stat(p_file.utf8().get_data(),&flags)==0); @@ -88,8 +88,8 @@ bool DirAccessUnix::dir_exists(String p_dir) {  	if (p_dir.is_rel_path())  		p_dir=get_current_dir().plus_file(p_dir); -	else -		p_dir=fix_path(p_dir); + +	p_dir=fix_path(p_dir);  	struct stat flags;  	bool success = 	(stat(p_dir.utf8().get_data(),&flags)==0); @@ -105,8 +105,8 @@ uint64_t DirAccessUnix::get_modified_time(String p_file) {  	if (p_file.is_rel_path())  		p_file=current_dir.plus_file(p_file); -	else -		p_file=fix_path(p_file); + +	p_file=fix_path(p_file);  	struct stat flags;  	bool success = 	(stat(p_file.utf8().get_data(),&flags)==0); @@ -201,8 +201,11 @@ Error DirAccessUnix::make_dir(String p_dir) {  	if (p_dir.is_rel_path())  		p_dir=get_current_dir().plus_file(p_dir); -	else -		p_dir=fix_path(p_dir); + + +	p_dir=fix_path(p_dir); + +  #if 1 @@ -287,13 +290,13 @@ Error DirAccessUnix::rename(String p_path,String p_new_path) {  	if (p_path.is_rel_path())  		p_path=get_current_dir().plus_file(p_path); -	else -		p_path=fix_path(p_path); + +	p_path=fix_path(p_path);  	if (p_new_path.is_rel_path())  		p_new_path=get_current_dir().plus_file(p_new_path); -	else -		p_new_path=fix_path(p_new_path); + +	p_new_path=fix_path(p_new_path);  	return ::rename(p_path.utf8().get_data(),p_new_path.utf8().get_data())==0?OK:FAILED;  } @@ -301,8 +304,8 @@ Error DirAccessUnix::remove(String p_path)  {  	if (p_path.is_rel_path())  		p_path=get_current_dir().plus_file(p_path); -	else -		p_path=fix_path(p_path); + +	p_path=fix_path(p_path);  	struct stat flags;  	if ((stat(p_path.utf8().get_data(),&flags)!=0)) diff --git a/drivers/windows/dir_access_windows.cpp b/drivers/windows/dir_access_windows.cpp index fa18f7c1f5..90e43d2518 100644 --- a/drivers/windows/dir_access_windows.cpp +++ b/drivers/windows/dir_access_windows.cpp @@ -193,8 +193,8 @@ Error DirAccessWindows::make_dir(String p_dir) {  	if (p_dir.is_rel_path())  		p_dir=get_current_dir().plus_file(p_dir); -	else -		p_dir=fix_path(p_dir); + +	p_dir=fix_path(p_dir);  	p_dir = p_dir.replace("/","\\");  	bool success; @@ -268,8 +268,8 @@ bool DirAccessWindows::dir_exists(String p_dir) {  	if (p_dir.is_rel_path())  		p_dir=get_current_dir().plus_file(p_dir); -	else -		p_dir=fix_path(p_dir); + +	p_dir=fix_path(p_dir);  	//p_dir.replace("/","\\"); @@ -289,13 +289,13 @@ Error DirAccessWindows::rename(String p_path,String p_new_path) {  	if (p_path.is_rel_path())  		p_path=get_current_dir().plus_file(p_path); -	else -		p_path=fix_path(p_path); + +	p_path=fix_path(p_path);  	if (p_new_path.is_rel_path())  		p_new_path=get_current_dir().plus_file(p_new_path); -	else -		p_new_path=fix_path(p_new_path); + +	p_new_path=fix_path(p_new_path);  	if (file_exists(p_new_path)) {  		if (remove(p_new_path) != OK) { @@ -310,8 +310,8 @@ Error DirAccessWindows::remove(String p_path)  {  	if (p_path.is_rel_path())  		p_path=get_current_dir().plus_file(p_path); -	else -		p_path=fix_path(p_path); + +	p_path=fix_path(p_path);  	printf("erasing %s\n",p_path.utf8().get_data()); diff --git a/tools/editor/editor_dir_dialog.cpp b/tools/editor/editor_dir_dialog.cpp index 8900cef7b9..f6ce7bf3f8 100644 --- a/tools/editor/editor_dir_dialog.cpp +++ b/tools/editor/editor_dir_dialog.cpp @@ -191,10 +191,14 @@ void EditorDirDialog::ok_pressed() {  void EditorDirDialog::_make_dir() {  	TreeItem *ti=tree->get_selected(); -	if (!ti) +	if (!ti) { +		mkdirerr->set_text("Please select a base directory first"); +		mkdirerr->popup_centered_minsize();  		return; +	}  	makedialog->popup_centered_minsize(Size2(250,80)); +	makedirname->grab_focus();  }  void EditorDirDialog::_make_dir_confirm() { @@ -204,9 +208,11 @@ void EditorDirDialog::_make_dir_confirm() {  		return;  	String dir = ti->get_metadata(0); +  	DirAccess *d = DirAccess::open(dir);  	ERR_FAIL_COND(!d);  	Error err = d->make_dir(makedirname->get_text()); +  	if (err!=OK) {  		mkdirerr->popup_centered_minsize(Size2(250,80));  	} else {  |