diff options
Diffstat (limited to 'src/qml/jsapi/qjsprimitivevalue.h')
-rw-r--r-- | src/qml/jsapi/qjsprimitivevalue.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/qml/jsapi/qjsprimitivevalue.h b/src/qml/jsapi/qjsprimitivevalue.h index bb710eb31b..1f41743f65 100644 --- a/src/qml/jsapi/qjsprimitivevalue.h +++ b/src/qml/jsapi/qjsprimitivevalue.h @@ -163,6 +163,33 @@ public: } } + explicit QJSPrimitiveValue(const QMetaType type) noexcept + { + switch (type.id()) { + case QMetaType::UnknownType: + d = QJSPrimitiveUndefined(); + break; + case QMetaType::Nullptr: + d = QJSPrimitiveNull(); + break; + case QMetaType::Bool: + d = false; + break; + case QMetaType::Int: + d = 0; + break; + case QMetaType::Double: + d = 0.0; + break; + case QMetaType::QString: + d = QString(); + break; + default: + // Unsupported. Remains undefined. + break; + } + } + explicit QJSPrimitiveValue(const QVariant &variant) noexcept : QJSPrimitiveValue(variant.metaType(), variant.data()) { |