Fix some bugs in diraccess, closes #5288
This commit is contained in:
parent
89bb72b2d3
commit
ffbc2e56c9
|
@ -67,7 +67,7 @@ bool DirAccessUnix::file_exists(String p_file) {
|
||||||
|
|
||||||
if (p_file.is_rel_path())
|
if (p_file.is_rel_path())
|
||||||
p_file=current_dir.plus_file(p_file);
|
p_file=current_dir.plus_file(p_file);
|
||||||
else
|
|
||||||
p_file=fix_path(p_file);
|
p_file=fix_path(p_file);
|
||||||
|
|
||||||
struct stat flags;
|
struct stat flags;
|
||||||
|
@ -88,7 +88,7 @@ bool DirAccessUnix::dir_exists(String p_dir) {
|
||||||
|
|
||||||
if (p_dir.is_rel_path())
|
if (p_dir.is_rel_path())
|
||||||
p_dir=get_current_dir().plus_file(p_dir);
|
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;
|
struct stat flags;
|
||||||
|
@ -105,7 +105,7 @@ uint64_t DirAccessUnix::get_modified_time(String p_file) {
|
||||||
|
|
||||||
if (p_file.is_rel_path())
|
if (p_file.is_rel_path())
|
||||||
p_file=current_dir.plus_file(p_file);
|
p_file=current_dir.plus_file(p_file);
|
||||||
else
|
|
||||||
p_file=fix_path(p_file);
|
p_file=fix_path(p_file);
|
||||||
|
|
||||||
struct stat flags;
|
struct stat flags;
|
||||||
|
@ -201,8 +201,11 @@ Error DirAccessUnix::make_dir(String p_dir) {
|
||||||
|
|
||||||
if (p_dir.is_rel_path())
|
if (p_dir.is_rel_path())
|
||||||
p_dir=get_current_dir().plus_file(p_dir);
|
p_dir=get_current_dir().plus_file(p_dir);
|
||||||
else
|
|
||||||
|
|
||||||
p_dir=fix_path(p_dir);
|
p_dir=fix_path(p_dir);
|
||||||
|
|
||||||
|
|
||||||
#if 1
|
#if 1
|
||||||
|
|
||||||
|
|
||||||
|
@ -287,12 +290,12 @@ Error DirAccessUnix::rename(String p_path,String p_new_path) {
|
||||||
|
|
||||||
if (p_path.is_rel_path())
|
if (p_path.is_rel_path())
|
||||||
p_path=get_current_dir().plus_file(p_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())
|
if (p_new_path.is_rel_path())
|
||||||
p_new_path=get_current_dir().plus_file(p_new_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;
|
return ::rename(p_path.utf8().get_data(),p_new_path.utf8().get_data())==0?OK:FAILED;
|
||||||
|
@ -301,7 +304,7 @@ Error DirAccessUnix::remove(String p_path) {
|
||||||
|
|
||||||
if (p_path.is_rel_path())
|
if (p_path.is_rel_path())
|
||||||
p_path=get_current_dir().plus_file(p_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;
|
struct stat flags;
|
||||||
|
|
|
@ -193,7 +193,7 @@ Error DirAccessWindows::make_dir(String p_dir) {
|
||||||
|
|
||||||
if (p_dir.is_rel_path())
|
if (p_dir.is_rel_path())
|
||||||
p_dir=get_current_dir().plus_file(p_dir);
|
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("/","\\");
|
p_dir = p_dir.replace("/","\\");
|
||||||
|
|
||||||
|
@ -268,7 +268,7 @@ bool DirAccessWindows::dir_exists(String p_dir) {
|
||||||
|
|
||||||
if (p_dir.is_rel_path())
|
if (p_dir.is_rel_path())
|
||||||
p_dir=get_current_dir().plus_file(p_dir);
|
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("/","\\");
|
//p_dir.replace("/","\\");
|
||||||
|
@ -289,12 +289,12 @@ Error DirAccessWindows::rename(String p_path,String p_new_path) {
|
||||||
|
|
||||||
if (p_path.is_rel_path())
|
if (p_path.is_rel_path())
|
||||||
p_path=get_current_dir().plus_file(p_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())
|
if (p_new_path.is_rel_path())
|
||||||
p_new_path=get_current_dir().plus_file(p_new_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 (file_exists(p_new_path)) {
|
||||||
|
@ -310,7 +310,7 @@ Error DirAccessWindows::remove(String p_path) {
|
||||||
|
|
||||||
if (p_path.is_rel_path())
|
if (p_path.is_rel_path())
|
||||||
p_path=get_current_dir().plus_file(p_path);
|
p_path=get_current_dir().plus_file(p_path);
|
||||||
else
|
|
||||||
p_path=fix_path(p_path);
|
p_path=fix_path(p_path);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -191,10 +191,14 @@ void EditorDirDialog::ok_pressed() {
|
||||||
void EditorDirDialog::_make_dir() {
|
void EditorDirDialog::_make_dir() {
|
||||||
|
|
||||||
TreeItem *ti=tree->get_selected();
|
TreeItem *ti=tree->get_selected();
|
||||||
if (!ti)
|
if (!ti) {
|
||||||
|
mkdirerr->set_text("Please select a base directory first");
|
||||||
|
mkdirerr->popup_centered_minsize();
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
makedialog->popup_centered_minsize(Size2(250,80));
|
makedialog->popup_centered_minsize(Size2(250,80));
|
||||||
|
makedirname->grab_focus();
|
||||||
}
|
}
|
||||||
|
|
||||||
void EditorDirDialog::_make_dir_confirm() {
|
void EditorDirDialog::_make_dir_confirm() {
|
||||||
|
@ -204,9 +208,11 @@ void EditorDirDialog::_make_dir_confirm() {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
String dir = ti->get_metadata(0);
|
String dir = ti->get_metadata(0);
|
||||||
|
|
||||||
DirAccess *d = DirAccess::open(dir);
|
DirAccess *d = DirAccess::open(dir);
|
||||||
ERR_FAIL_COND(!d);
|
ERR_FAIL_COND(!d);
|
||||||
Error err = d->make_dir(makedirname->get_text());
|
Error err = d->make_dir(makedirname->get_text());
|
||||||
|
|
||||||
if (err!=OK) {
|
if (err!=OK) {
|
||||||
mkdirerr->popup_centered_minsize(Size2(250,80));
|
mkdirerr->popup_centered_minsize(Size2(250,80));
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue