summaryrefslogtreecommitdiff
path: root/src/libs/utils
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@digia.com>2013-08-16 17:10:45 +0200
committerTobias Hunger <tobias.hunger@digia.com>2013-08-28 11:39:29 +0200
commit52a41ecb0c455b9979b2a55cc5f96b078b696996 (patch)
treebd22571c6f857884b900a28b70405a5fdb8b0c1e /src/libs/utils
parent769788a452e67a00d08573eee9dd6988600b91f5 (diff)
downloadqt-creator-52a41ecb0c455b9979b2a55cc5f96b078b696996.tar.gz
Qt4BC: Simplify shadowbuild/builddirectory handling
Change-Id: Id46a239588d21b6aa5d4c43e4d85b52a04bd17ab Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Diffstat (limited to 'src/libs/utils')
-rw-r--r--src/libs/utils/fileutils.cpp12
-rw-r--r--src/libs/utils/fileutils.h1
2 files changed, 13 insertions, 0 deletions
diff --git a/src/libs/utils/fileutils.cpp b/src/libs/utils/fileutils.cpp
index 9c81344383..8341789bd6 100644
--- a/src/libs/utils/fileutils.cpp
+++ b/src/libs/utils/fileutils.cpp
@@ -218,6 +218,18 @@ QString FileUtils::shortNativePath(const FileName &path)
return path.toUserOutput();
}
+QString FileUtils::fileSystemFriendlyName(const QString &name)
+{
+ QString result = name;
+ result.replace(QRegExp(QLatin1String("\\W")), QLatin1String("_"));
+ result.replace(QRegExp(QLatin1String("_+")), QLatin1String("_")); // compact _
+ result.remove(QRegExp(QLatin1String("^_*"))); // remove leading _
+ result.remove(QRegExp(QLatin1String("_+$"))); // remove trailing _
+ if (result.isEmpty())
+ result = QLatin1String("unknown");
+ return result;
+}
+
bool FileUtils::makeWritable(const FileName &path)
{
const QString fileName = path.toString();
diff --git a/src/libs/utils/fileutils.h b/src/libs/utils/fileutils.h
index 4477938be5..0cf1db64b1 100644
--- a/src/libs/utils/fileutils.h
+++ b/src/libs/utils/fileutils.h
@@ -96,6 +96,7 @@ public:
static bool isFileNewerThan(const FileName &filePath, const QDateTime &timeStamp);
static FileName resolveSymlinks(const FileName &path);
static QString shortNativePath(const FileName &path);
+ static QString fileSystemFriendlyName(const QString &name);
static bool makeWritable(const FileName &path);
};