[Cpp]
// Copy an object:
Bool MyTest007: copyFileToPath (QString sourceDir, QString toDir, bool coverFileIfExist)
{
ToDir. replace ("\\","/");
If (sourceDir = toDir ){
Return true;
}
If (! QFile: exists (sourceDir )){
Return false;
}
QDir * createfile = new QDir;
Bool exist = createfile-> exists (toDir );
If (exist ){
If (coverFileIfExist ){
Createfile-> remove (toDir );
}
} // End if
If (! QFile: copy (sourceDir, toDir ))
{
Return false;
}
Return true;
}
// Copy the folder:
Bool MyTest007: copyDirectoryFiles (const QString & fromDir, const QString & toDir, bool coverFileIfExist)
{
QDir sourceDir (fromDir );
QDir targetDir (toDir );
If (! TargetDir. exists () {/** <create a directory if the target directory does not exist */
If (! TargetDir. mkdir (targetDir. absolutePath ()))
Return false;
}
QFileInfoList fileInfoList = sourceDir. entryInfoList ();
Foreach (QFileInfo fileInfo, fileInfoList ){
If (fileInfo. fileName () = "." | fileInfo. fileName () = "..")
Continue;
If (fileInfo. isDir () {/** <recursive copy */
If (! CopyDirectoryFiles (fileInfo. filePath (),
TargetDir. filePath (fileInfo. fileName ()),
CoverFileIfExist ))
Return false;
}
Else {/** <delete old files when overwriting is allowed */
If (coverFileIfExist & targetDir. exists (fileInfo. fileName ())){
TargetDir. remove (fileInfo. fileName ());
}
/// Copy a file
If (! QFile: copy (fileInfo. filePath (),
TargetDir. filePath (fileInfo. fileName ()))){
Return false;
}
}
}
Return true;
}