Make QtWidgets wizard work with namespaced Qt

Fixes: QTCREATORBUG-19590
Change-Id: Ic003b2b1f580d9a6708e144b690c4cee8d94ff69
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Christian Kandeler
2019-04-23 15:21:34 +02:00
parent a296b84dc4
commit 24263717f3
3 changed files with 12 additions and 0 deletions

View File

@@ -10,7 +10,13 @@
%{JS: Cpp.openNamespaces('%{Class}')}\
@if %{GenerateForm}
@if ! %{JS: Cpp.hasNamespaces('%{Class}')}
QT_BEGIN_NAMESPACE
@endif
namespace Ui { class %{CN}; }
@if ! %{JS: Cpp.hasNamespaces('%{Class}')}
QT_END_NAMESPACE
@endif
@endif
class %{CN} : public %{BaseClass}

View File

@@ -60,6 +60,11 @@ QStringList CppToolsJsExtension::namespaces(const QString &klass) const
return result;
}
bool CppToolsJsExtension::hasNamespaces(const QString &klass) const
{
return !namespaces(klass).empty();
}
QString CppToolsJsExtension::className(const QString &klass) const
{
QStringList result = parts(klass);

View File

@@ -47,6 +47,7 @@ public:
// Work with classes:
Q_INVOKABLE QStringList namespaces(const QString &klass) const;
Q_INVOKABLE bool hasNamespaces(const QString &klass) const;
Q_INVOKABLE QString className(const QString &klass) const;
// Fix the filename casing as configured in C++/File Naming:
Q_INVOKABLE QString classToFileName(const QString &klass,