summaryrefslogtreecommitdiffstats
path: root/src/libs
diff options
context:
space:
mode:
authorkh1 <karsten.heimrich@digia.com>2013-09-16 14:21:23 +0200
committerKarsten Heimrich <karsten.heimrich@digia.com>2013-09-20 12:48:25 +0200
commite2b967f5d8ba5421cf1a026d498a6de77962362c (patch)
tree278f9c1e5ba476470ae9b1167271035e10404c79 /src/libs
parent4cc748a04410e40ac4c78ab8c16c56b9d4055516 (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')
-rw-r--r--src/libs/installer/fileutils.cpp3
-rw-r--r--src/libs/kdtools/kdupdaterupdateoperations.cpp27
2 files changed, 12 insertions, 18 deletions
diff --git a/src/libs/installer/fileutils.cpp b/src/libs/installer/fileutils.cpp
index 9fb782fec..1fd5bf35c 100644
--- a/src/libs/installer/fileutils.cpp
+++ b/src/libs/installer/fileutils.cpp
@@ -282,8 +282,7 @@ void QInstaller::removeDirectory(const QString &path, bool ignoreErrors)
QDirIterator it(path, QDir::NoDotAndDotDot | QDir::Dirs | QDir::NoSymLinks | QDir::Hidden,
QDirIterator::Subdirectories);
while (it.hasNext()) {
- it.next();
- dirs.prepend(it.filePath());
+ dirs.prepend(it.next());
removeFiles(dirs.at(0), ignoreErrors);
}
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;