diff options
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/kernel/qmetatype.cpp | 20 | ||||
-rw-r--r-- | src/corelib/kernel/qmetatype.h | 8 | ||||
-rw-r--r-- | src/corelib/kernel/qvariant.cpp | 8 |
3 files changed, 34 insertions, 2 deletions
diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp index a735e6dc4c..906334be18 100644 --- a/src/corelib/kernel/qmetatype.cpp +++ b/src/corelib/kernel/qmetatype.cpp @@ -64,6 +64,10 @@ # include "qvariant.h" # include "qabstractitemmodel.h" # include "qregularexpression.h" +# include "qjsonvalue.h" +# include "qjsonobject.h" +# include "qjsonarray.h" +# include "qjsondocument.h" #endif #ifndef QT_NO_GEOM_VARIANT @@ -111,6 +115,10 @@ template<> struct TypeDefinition<QBitArray> { static const bool IsAvailable = fa template<> struct TypeDefinition<QUrl> { static const bool IsAvailable = false; }; template<> struct TypeDefinition<QEasingCurve> { static const bool IsAvailable = false; }; template<> struct TypeDefinition<QModelIndex> { static const bool IsAvailable = false; }; +template<> struct TypeDefinition<QJsonValue> { static const bool IsAvailable = false; }; +template<> struct TypeDefinition<QJsonObject> { static const bool IsAvailable = false; }; +template<> struct TypeDefinition<QJsonArray> { static const bool IsAvailable = false; }; +template<> struct TypeDefinition<QJsonDocument> { static const bool IsAvailable = false; }; #endif #ifdef QT_NO_REGEXP template<> struct TypeDefinition<QRegExp> { static const bool IsAvailable = false; }; @@ -245,6 +253,10 @@ template<> struct TypeDefinition<QRegularExpression> { static const bool IsAvail \value QVector4D QVector4D \value QQuaternion QQuaternion \value QEasingCurve QEasingCurve + \value QJsonValue QJsonValue + \value QJsonObject QJsonObject + \value QJsonArray QJsonArray + \value QJsonDocument QJsonDocument \value User Base value for user types \value UnknownType This is an invalid type id. It is returned from QMetaType for types that are not registered @@ -665,6 +677,10 @@ bool QMetaType::save(QDataStream &stream, int type, const void *data) case QMetaType::QObjectStar: case QMetaType::QWidgetStar: case QMetaType::QModelIndex: + case QMetaType::QJsonValue: + case QMetaType::QJsonObject: + case QMetaType::QJsonArray: + case QMetaType::QJsonDocument: return false; case QMetaType::Long: stream << qlonglong(*static_cast<const long *>(data)); @@ -876,6 +892,10 @@ bool QMetaType::load(QDataStream &stream, int type, void *data) case QMetaType::QObjectStar: case QMetaType::QWidgetStar: case QMetaType::QModelIndex: + case QMetaType::QJsonValue: + case QMetaType::QJsonObject: + case QMetaType::QJsonArray: + case QMetaType::QJsonDocument: return false; case QMetaType::Long: { qlonglong l; diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h index 48ccc267f5..9931df14e3 100644 --- a/src/corelib/kernel/qmetatype.h +++ b/src/corelib/kernel/qmetatype.h @@ -102,7 +102,11 @@ QT_BEGIN_NAMESPACE F(QUuid, 30, QUuid) \ F(QVariant, 41, QVariant) \ F(QModelIndex, 42, QModelIndex) \ - F(QRegularExpression, 44, QRegularExpression) + F(QRegularExpression, 44, QRegularExpression) \ + F(QJsonValue, 45, QJsonValue) \ + F(QJsonObject, 46, QJsonObject) \ + F(QJsonArray, 47, QJsonArray) \ + F(QJsonDocument, 48, QJsonDocument) \ #define QT_FOR_EACH_STATIC_CORE_POINTER(F)\ F(QObjectStar, 39, QObject*) \ @@ -196,7 +200,7 @@ public: QT_FOR_EACH_STATIC_TYPE(QT_DEFINE_METATYPE_ID) FirstCoreType = Bool, - LastCoreType = QRegularExpression, + LastCoreType = QJsonDocument, FirstGuiType = QFont, LastGuiType = QPolygonF, FirstWidgetsType = QIcon, diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp index e08f4ef53c..43d867f61c 100644 --- a/src/corelib/kernel/qvariant.cpp +++ b/src/corelib/kernel/qvariant.cpp @@ -56,6 +56,10 @@ #include "quuid.h" #ifndef QT_BOOTSTRAPPED #include "qabstractitemmodel.h" +#include "qjsonvalue.h" +#include "qjsonobject.h" +#include "qjsonarray.h" +#include "qjsondocument.h" #endif #include "private/qvariant_p.h" #include "qmetatype_p.h" @@ -108,6 +112,10 @@ struct TypeDefinition { template<> struct TypeDefinition<QEasingCurve> { static const bool IsAvailable = false; }; template<> struct TypeDefinition<QModelIndex> { static const bool IsAvailable = false; }; template<> struct TypeDefinition<QRegularExpression> { static const bool IsAvailable = false; }; +template<> struct TypeDefinition<QJsonValue> { static const bool IsAvailable = false; }; +template<> struct TypeDefinition<QJsonObject> { static const bool IsAvailable = false; }; +template<> struct TypeDefinition<QJsonArray> { static const bool IsAvailable = false; }; +template<> struct TypeDefinition<QJsonDocument> { static const bool IsAvailable = false; }; #endif #ifdef QT_NO_GEOM_VARIANT template<> struct TypeDefinition<QRect> { static const bool IsAvailable = false; }; |