diff options
Diffstat (limited to 'src/tools/ivigenerator/templates')
-rw-r--r-- | src/tools/ivigenerator/templates/frontend/module.cpp.tpl | 3 | ||||
-rw-r--r-- | src/tools/ivigenerator/templates/frontend/struct.cpp.tpl | 12 |
2 files changed, 6 insertions, 9 deletions
diff --git a/src/tools/ivigenerator/templates/frontend/module.cpp.tpl b/src/tools/ivigenerator/templates/frontend/module.cpp.tpl index ec0f87b..a99eaa6 100644 --- a/src/tools/ivigenerator/templates/frontend/module.cpp.tpl +++ b/src/tools/ivigenerator/templates/frontend/module.cpp.tpl @@ -133,7 +133,6 @@ void {{class}}::registerTypes() {% for enum in module.enums %} qRegisterMetaType<{{class}}::{{enum|flag_type}}>(); - qRegisterMetaTypeStreamOperators<{{class}}::{{enum|flag_type}}>(); qIviRegisterPendingReplyType<{{class}}::{{enum|flag_type}}>(); {% if enum.is_flag %} //Workaround for https://bugreports.qt.io/browse/QTBUG-75676 @@ -143,8 +142,6 @@ void {{class}}::registerTypes() {% endfor %} {% for struct in module.structs %} qRegisterMetaType<{{struct}}>(); - qRegisterMetaTypeStreamOperators<{{struct}}>(); - QMetaType::registerEqualsComparator<{{struct}}>(); qIviRegisterPendingReplyType<{{struct}}>(); {% endfor %} } diff --git a/src/tools/ivigenerator/templates/frontend/struct.cpp.tpl b/src/tools/ivigenerator/templates/frontend/struct.cpp.tpl index 00ea37b..78036d6 100644 --- a/src/tools/ivigenerator/templates/frontend/struct.cpp.tpl +++ b/src/tools/ivigenerator/templates/frontend/struct.cpp.tpl @@ -147,18 +147,18 @@ void {{class}}::fromJSON(const QVariant &variant) QVariant value = qtivi_convertFromJSON(variant); // First try to convert the values to a Map or a List // This is needed as it could also store a QStringList or a Hash - if (value.canConvert(QVariant::Map)) - value.convert(QVariant::Map); - if (value.canConvert(QVariant::List)) - value.convert(QVariant::List); + if (value.canConvert(QMetaType::fromType<QVariantMap>())) + value.convert(QMetaType::fromType<QVariantMap>()); + if (value.canConvert(QMetaType::fromType<QVariantList>())) + value.convert(QMetaType::fromType<QVariantList>()); - if (value.type() == QVariant::Map) { + if (value.metaType() == QMetaType::fromType<QVariantList>()) { QVariantMap map = value.toMap(); {% for field in struct.fields %} if (map.contains(QStringLiteral("{{field}}"))) d->m_{{field}} = map.value(QStringLiteral("{{field}}")).value<{{field|return_type}}>(); {% endfor %} - } else if (value.type() == QVariant::List) { + } else if (value.metaType() == QMetaType::fromType<QVariantList>()) { QVariantList values = value.toList(); {% for field in struct.fields %} d->m_{{field}} = values.value({{loop.index0}}).value<{{field|return_type}}>(); |