diff options
author | kh1 <karsten.heimrich@digia.com> | 2013-09-16 14:21:23 +0200 |
---|---|---|
committer | Karsten Heimrich <karsten.heimrich@digia.com> | 2013-09-20 12:48:25 +0200 |
commit | e2b967f5d8ba5421cf1a026d498a6de77962362c (patch) | |
tree | 278f9c1e5ba476470ae9b1167271035e10404c79 /src/libs/kdtools | |
parent | 4cc748a04410e40ac4c78ab8c16c56b9d4055516 (diff) |
Small cleanup.
Change-Id: I4c0732ac03dc98bd5ed59b6924d551c2303db407
Reviewed-by: Niels Weber <niels.weber@digia.com>
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
Diffstat (limited to 'src/libs/kdtools')
-rw-r--r-- | src/libs/kdtools/kdupdaterupdateoperations.cpp | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/src/libs/kdtools/kdupdaterupdateoperations.cpp b/src/libs/kdtools/kdupdaterupdateoperations.cpp index 5a4296242..854449bc0 100644 --- a/src/libs/kdtools/kdupdaterupdateoperations.cpp +++ b/src/libs/kdtools/kdupdaterupdateoperations.cpp @@ -65,29 +65,24 @@ static QString errnoToQString(int error) #endif } -static bool removeDirectory(const QString &path, QString *errorString, bool force = true) +static bool removeDirectory(const QString &path, QString *errorString, bool force) { Q_ASSERT(errorString); - const QFileInfoList entries = QDir(path).entryInfoList(QDir::NoDotAndDotDot | QDir::AllEntries | QDir::Hidden); - for (QFileInfoList::const_iterator it = entries.constBegin(); it != entries.constEnd(); ++it) { - if (it->isDir() && !it->isSymLink()) { - removeDirectory(it->filePath(), errorString, force); - } else if (force) { - QFile f(it->filePath()); - if (!f.remove()) - return false; - } + + QDir dir = path; + const QFileInfoList entries = dir.entryInfoList(QDir::NoDotAndDotDot | QDir::AllEntries | QDir::Hidden); + foreach (const QFileInfo &entry, entries) { + if (entry.isDir() && (!entry.isSymLink())) + removeDirectory(entry.filePath(), errorString, force); + else if (force && (!QFile(entry.filePath()).remove())) + return false; } // even remove some hidden, OS-created files in there -#if defined Q_OS_MAC - QFile::remove(path + QLatin1String("/.DS_Store")); -#elif defined Q_OS_WIN - QFile::remove(path + QLatin1String("/Thumbs.db")); -#endif + QInstaller::removeSystemGeneratedFiles(path); errno = 0; - const bool success = QDir().rmdir(path); + const bool success = dir.rmdir(path); if (errno) *errorString = errnoToQString(errno); return success; |