42 bool copyRecursively(QString sourceDir, QString destinationDir,
bool overWriteDirectory)
44 QDir originDirectory(sourceDir);
46 if (! originDirectory.exists())
51 QDir destinationDirectory(destinationDir);
53 if(destinationDirectory.exists() && !overWriteDirectory)
57 else if(destinationDirectory.exists() && overWriteDirectory)
59 destinationDirectory.removeRecursively();
62 originDirectory.mkpath(destinationDir);
64 foreach (QString directoryName, originDirectory.entryList(QDir::Dirs | \
65 QDir::NoDotAndDotDot))
67 QString destinationPath = destinationDir +
"/" + directoryName;
68 originDirectory.mkpath(destinationPath);
69 copyRecursively(sourceDir +
"/" + directoryName, destinationPath, overWriteDirectory);
72 foreach (QString fileName, originDirectory.entryList(QDir::Files))
74 QFile::copy(sourceDir +
"/" + fileName, destinationDir +
"/" + fileName);
78 QDir finalDestination(destinationDir);
79 finalDestination.refresh();
81 if(finalDestination.exists())
94 if (dir.exists(dirName)) {
95 Q_FOREACH(QFileInfo info, dir.entryInfoList(QDir::NoDotAndDotDot | QDir::System | QDir::Hidden | QDir::AllDirs | QDir::Files, QDir::DirsFirst)) {
100 result = QFile::remove(info.absoluteFilePath());
107 result = dir.rmdir(dirName);
115 dir.setFilter(QDir::AllDirs|QDir::NoDotAndDotDot);
116 QFileInfoList retval = dir.entryInfoList();
124 dir.setFilter(QDir::Files);
125 dir.setNameFilters(nameFilters);
127 foreach(QFileInfo file, dir.entryInfoList())
128 retval << file.absoluteFilePath();
131 foreach(QFileInfo directory,
getDirs(path))
bool removeNonemptyDirRecursively(const QString &dirName)
bool copyRecursively(QString sourceDir, QString destinationDir, bool overWriteDirectory)
QFileInfoList getDirs(QString path)
QStringList getAbsolutePathToXmlFiles(QString path, bool includeSubDirs)
QStringList getAbsolutePathToFiles(QString path, QStringList nameFilters, bool includeSubDirs)