939 |
939 |
target = parseString(target);
|
940 |
940 |
if (wxFileExists(target)){
|
941 |
941 |
continue;
|
|
942 |
} else {
|
|
943 |
if (wxDirExists(target)) {
|
|
944 |
fileName = wxFileName(target);
|
|
945 |
wxFileName tempFileName(source);
|
|
946 |
fileName.SetFullName(tempFileName.GetFullName());
|
|
947 |
if (fileName.FileExists()) {
|
|
948 |
continue;
|
|
949 |
}
|
|
950 |
}
|
|
951 |
|
942 |
952 |
}
|
943 |
953 |
if (!wxFileExists(source)){
|
944 |
954 |
error(source.Format(_("Error copying the file number %i:\n source file '%s' does not exists."),i,source.c_str()));
|
... | ... | |
948 |
958 |
fileName = wxFileName(source);
|
949 |
959 |
msg = msg.Format(_("copying %s..."), fileName.GetFullName().c_str());
|
950 |
960 |
//echo(msg);
|
|
961 |
//echo(msg.Format("%s --> %s",source.c_str(),target.c_str()));
|
951 |
962 |
if (!copyFile(source,target, msg)){
|
952 |
963 |
error(source.Format(_("Error copying the file number %i:\n '%s' --> '%s'."),i,source.c_str(),target.c_str()));
|
953 |
964 |
return false;
|
... | ... | |
970 |
981 |
}
|
971 |
982 |
|
972 |
983 |
showStatusMsg(msg);
|
973 |
|
//wxFile fileSource(source);
|
974 |
|
//wxFileInputStream in_stream(fileSource);
|
975 |
|
wxFileInputStream in_stream(source);
|
976 |
984 |
|
977 |
|
//in_stream = url.GetInputStream();
|
978 |
|
//echo("in_stream open");
|
979 |
|
if (!in_stream.IsOk()) {
|
980 |
|
//echo("in_stream.IsOk == false");
|
981 |
|
return false;
|
982 |
|
}
|
983 |
|
//echo("in_stream.IsOk == true");
|
984 |
|
//echo("target =" + target);
|
985 |
985 |
wxFileName targetFileName(target);
|
986 |
986 |
|
987 |
987 |
|
... | ... | |
1014 |
1014 |
}
|
1015 |
1015 |
|
1016 |
1016 |
wxString finalTarget;
|
1017 |
|
if (targetFileName.IsDir()) {
|
|
1017 |
if (targetFileName.IsDir() || targetFileName.DirExists()) {
|
|
1018 |
//echo("targetFileName.IsDir -> true " + targetFileName.GetFullPath());
|
1018 |
1019 |
wxFileName sourceFileName(source);
|
1019 |
1020 |
targetFileName.SetFullName(sourceFileName.GetFullName());
|
1020 |
1021 |
finalTarget = targetFileName.GetFullPath();
|
1021 |
1022 |
} else {
|
|
1023 |
//echo("targetFileName.IsDir -> false " + targetFileName.GetFullPath());
|
1022 |
1024 |
finalTarget = target;
|
1023 |
1025 |
}
|
1024 |
|
|
1025 |
|
|
1026 |
|
wxFileOutputStream out_stream = wxFileOutputStream(finalTarget);
|
1027 |
|
//echo("out_stream open");
|
1028 |
|
|
1029 |
|
//in_stream->Read(out_stream);
|
1030 |
|
size_t nbytes = 10240;
|
1031 |
|
char buffer[nbytes];
|
1032 |
|
|
1033 |
|
|
1034 |
|
//while (!in_stream->Eof()) {
|
1035 |
|
while (!in_stream.Eof()) {
|
1036 |
|
in_stream.Read(&buffer,nbytes);
|
1037 |
|
if (in_stream.LastError() != wxSTREAM_NO_ERROR && in_stream.LastError() != wxSTREAM_EOF) {
|
1038 |
|
return false;
|
1039 |
|
}
|
1040 |
|
out_stream.Write(&buffer,in_stream.LastRead());
|
1041 |
|
if (out_stream.LastError() != wxSTREAM_NO_ERROR) {
|
1042 |
|
return false;
|
1043 |
|
}
|
1044 |
|
int totalKb = out_stream.GetSize() / 1024;
|
1045 |
|
wxString totalMsg =msg.Format("%i",totalKb);
|
1046 |
|
showStatusMsg(msg+" "+ totalMsg + " Kb");
|
1047 |
|
|
1048 |
|
}
|
1049 |
|
|
1050 |
|
|
1051 |
|
isOk = true;
|
1052 |
|
/*
|
1053 |
|
if (isOk) {
|
1054 |
|
echo("isOk = true");
|
1055 |
|
} else {
|
1056 |
|
echo("isOk = false");
|
1057 |
|
}
|
1058 |
|
*/
|
1059 |
|
//delete in_stream;
|
1060 |
|
//delete out_stream;
|
1061 |
|
|
1062 |
|
//echo("end");
|
|
1026 |
|
|
1027 |
|
|
1028 |
//echo(msg.Format("%s --> %s",source.c_str(),finalTarget.c_str()));
|
|
1029 |
isOk = wxCopyFile(source,finalTarget,false);
|
|
1030 |
|
|
1031 |
|
1063 |
1032 |
return isOk;
|
1064 |
1033 |
|
1065 |
1034 |
}
|