aboutsummaryrefslogtreecommitdiffstats
path: root/generator
diff options
context:
space:
mode:
authorRenato Filho <renato.filho@openbossa.org>2011-07-11 11:07:14 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:15:28 -0300
commit4f608fdc057642f2d84276458a6444e9eff79bd2 (patch)
treed49d46b5401800b12158a0b2981d248c9c1c25a2 /generator
parent6032293a4f357ccccd57ea96bb74b55254faed59 (diff)
Fix enum qMetaType register.
fix bug #886. Reviewer: Hugo Parente <hugo.lima@openbossa.org> Luciano Wolf <luciano.wolf@openbossa.org>
Diffstat (limited to 'generator')
-rw-r--r--generator/cppgenerator.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/generator/cppgenerator.cpp b/generator/cppgenerator.cpp
index 387a275cb..2e8285675 100644
--- a/generator/cppgenerator.cpp
+++ b/generator/cppgenerator.cpp
@@ -3754,14 +3754,14 @@ void CppGenerator::writeInitQtMetaTypeFunctionBody(QTextStream& s, const Abstrac
s << INDENT << "qRegisterMetaType< ::" << className << " >(\"" << name << "\");" << endl;
}
}
+
foreach (AbstractMetaEnum* metaEnum, metaClass->enums()) {
if (!metaEnum->isPrivate() && !metaEnum->isAnonymous()) {
- QString n = className + "::" + metaEnum->name();
foreach (QString name, nameVariants)
- s << INDENT << "qRegisterMetaType< ::" << n << " >(\"" << name << "::" << metaEnum->name() << "\");" << endl;
+ s << INDENT << "qRegisterMetaType< ::" << metaEnum->typeEntry()->qualifiedCppName() << " >(\"" << name << "::" << metaEnum->name() << "\");" << endl;
if (metaEnum->typeEntry()->flags()) {
- n = metaEnum->typeEntry()->flags()->originalName();
+ QString n = metaEnum->typeEntry()->flags()->originalName();
s << INDENT << "qRegisterMetaType< ::" << n << " >(\"" << n << "\");" << endl;
}
}
@@ -4168,8 +4168,9 @@ void CppGenerator::finishGeneration()
if (usePySideExtensions()) {
foreach (AbstractMetaEnum* metaEnum, globalEnums)
- if (!metaEnum->isAnonymous())
- s << INDENT << "qRegisterMetaType< ::" << metaEnum->name() << " >(\"" << metaEnum->name() << "\");" << endl;
+ if (!metaEnum->isAnonymous()) {
+ s << INDENT << "qRegisterMetaType< ::" << metaEnum->typeEntry()->qualifiedCppName() << " >(\"" << metaEnum->name() << "\");" << endl;
+ }
// cleanup staticMetaObject attribute
s << INDENT << "PySide::registerCleanupFunction(cleanTypesAttributes);" << endl;