diff --git a/src/libs/utils/codegeneration.cpp b/src/libs/utils/codegeneration.cpp index 14448ea4b750f41c0ddbf1d9967391eb9e1cc907..7e019b67c2200af39b5170f2491010cb6c367ecd 100644 --- a/src/libs/utils/codegeneration.cpp +++ b/src/libs/utils/codegeneration.cpp @@ -41,11 +41,14 @@ static QString toAlphaNum(const QString &s) QString rc; const int len = s.size(); const QChar underscore = QLatin1Char('_'); + const QChar dot = QLatin1Char('.'); for (int i = 0; i < len; i++) { const QChar c = s.at(i); if (c == underscore || c.isLetterOrNumber()) rc += c; + else if (c == dot) + rc += underscore; } return rc; } @@ -80,7 +83,6 @@ QString writeOpeningNameSpaces(const QStringList &l, const QString &indent, str << rc << "namespace " << l.at(i) << " {\n"; rc += indent; } - str << '\n'; } return rc; } diff --git a/src/plugins/cppeditor/cppclasswizard.cpp b/src/plugins/cppeditor/cppclasswizard.cpp index d56875e213ca9ea8cdd3232634ea91648a96b561..ad574af51f1f92134c2ff9899400440c6a0e78d6 100644 --- a/src/plugins/cppeditor/cppclasswizard.cpp +++ b/src/plugins/cppeditor/cppclasswizard.cpp @@ -230,19 +230,20 @@ bool CppClassWizard::generateHeaderAndSource(const CppClassWizardParameters &par // == Header file == QTextStream headerStr(header); headerStr << "#ifndef " << guard - << "\n#define " << guard << '\n' << '\n'; + << "\n#define " << guard << '\n'; const QRegExp qtClassExpr(QLatin1String("^Q[A-Z3].+")); QTC_ASSERT(qtClassExpr.isValid(), /**/); const bool superIsQtClass = qtClassExpr.exactMatch(params.baseClass); if (superIsQtClass) { - Core::Utils::writeIncludeFileDirective(params.baseClass, true, headerStr); headerStr << '\n'; + Core::Utils::writeIncludeFileDirective(params.baseClass, true, headerStr); } - const QString namespaceIndent = Core::Utils::writeOpeningNameSpaces(namespaceList, 0, headerStr); + const QString namespaceIndent = Core::Utils::writeOpeningNameSpaces(namespaceList, QString(), headerStr); // Class declaration + headerStr << '\n'; headerStr << namespaceIndent << "class " << unqualifiedClassName; if (!params.baseClass.isEmpty()) headerStr << " : public " << params.baseClass << "\n"; @@ -251,21 +252,23 @@ bool CppClassWizard::generateHeaderAndSource(const CppClassWizardParameters &par headerStr << namespaceIndent << "{\n"; headerStr << namespaceIndent << "public:\n" << namespaceIndent << indent << unqualifiedClassName << "();\n"; - headerStr << namespaceIndent << "};\n\n"; + headerStr << namespaceIndent << "};\n"; + + Core::Utils::writeClosingNameSpaces(namespaceList, QString(), headerStr); - Core::Utils::writeClosingNameSpaces(namespaceList, 0, headerStr); + headerStr << '\n'; headerStr << "#endif // "<< guard << '\n'; // == Source file == QTextStream sourceStr(source); Core::Utils::writeIncludeFileDirective(params.headerFile, false, sourceStr); - Core::Utils::writeOpeningNameSpaces(namespaceList, 0, sourceStr); + Core::Utils::writeOpeningNameSpaces(namespaceList, QString(), sourceStr); // Constructor sourceStr << '\n' << namespaceIndent << unqualifiedClassName << "::" << unqualifiedClassName << "()\n"; sourceStr << namespaceIndent << "{\n" << namespaceIndent << "}\n"; - Core::Utils::writeClosingNameSpaces(namespaceList, indent, sourceStr); + Core::Utils::writeClosingNameSpaces(namespaceList, QString(), sourceStr); return true; }