summaryrefslogtreecommitdiff
path: root/src/libs/utils/codegeneration.cpp
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>2009-03-05 17:12:31 +0100
committerThorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>2009-03-05 17:14:37 +0100
commitcb2cce5139ac3429088ecef011198c0e218618cb (patch)
tree0c6dfe27c9acbeced282c74e655b9ba46a0cc1a5 /src/libs/utils/codegeneration.cpp
parent1f3908e0a583043f782edc312bf21d74a38e2056 (diff)
downloadqt-creator-cb2cce5139ac3429088ecef011198c0e218618cb.tar.gz
Adapt generated header guards to the filename
Use _HPP for example for .hpp files, for example. Based on simply putting the chosen extension in uppercase.
Diffstat (limited to 'src/libs/utils/codegeneration.cpp')
-rw-r--r--src/libs/utils/codegeneration.cpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/libs/utils/codegeneration.cpp b/src/libs/utils/codegeneration.cpp
index 411ee33280..14448ea4b7 100644
--- a/src/libs/utils/codegeneration.cpp
+++ b/src/libs/utils/codegeneration.cpp
@@ -36,10 +36,26 @@
namespace Core {
namespace Utils {
+static QString toAlphaNum(const QString &s)
+{
+ QString rc;
+ const int len = s.size();
+ const QChar underscore = QLatin1Char('_');
+
+ for (int i = 0; i < len; i++) {
+ const QChar c = s.at(i);
+ if (c == underscore || c.isLetterOrNumber())
+ rc += c;
+ }
+ return rc;
+}
+
QWORKBENCH_UTILS_EXPORT QString headerGuard(const QString &file)
{
- QString rc = QFileInfo(file).baseName().toUpper();
- rc += QLatin1String("_H");
+ const QFileInfo fi(file);
+ QString rc = toAlphaNum(fi.completeBaseName()).toUpper();
+ rc += QLatin1Char('_');
+ rc += toAlphaNum(fi.suffix()).toUpper();
return rc;
}