diff options
| author | Ivan Solovev <ivan.solovev@qt.io> | 2024-12-18 15:32:02 +0100 |
|---|---|---|
| committer | Ivan Solovev <ivan.solovev@qt.io> | 2025-01-02 13:07:21 +0100 |
| commit | 3cb87d891bb040f73fb68b6c5e7e82518f603c59 (patch) | |
| tree | b33a3dbff6f991561ba16b719ec5fbade8f1167d /src/corelib/serialization/qjsondocument.cpp | |
| parent | fecae6ab1b1aa36f43b5cd87b229de4df37e44ab (diff) | |
Do not duplicate JsonFormat enum
The enum already exists in QJsonDocument, so there is no reason to
introduce a new one in QJsonValue.
Instead, use the fact that we only need to forward-declare QJsonValue
in QJsonDocument's header, include the latter into qjsonvalue.h, and
use a type alias.
For Qt 7, pre-program moving of the enum into QJsonValue and using
an alias in QJsonDocument.
Amends ac73079dee5f0260528a5c217a82cb0beafb0a56.
Found in Qt 6.9 API review.
[ChangeLog][QtCore][Potentially Source-Incompatible Changes] The
QJsonDocument header no longer includes QJsonValue.
The backward-compatible fix is to include all needed headers
explicitly and to not rely on the transitive includes.
Pick-to: 6.9
Change-Id: I7c5219a239149e4a87d4780c4277d111983ad0f4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/serialization/qjsondocument.cpp')
| -rw-r--r-- | src/corelib/serialization/qjsondocument.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/corelib/serialization/qjsondocument.cpp b/src/corelib/serialization/qjsondocument.cpp index 1c8b6a69798..9b1439c66a6 100644 --- a/src/corelib/serialization/qjsondocument.cpp +++ b/src/corelib/serialization/qjsondocument.cpp @@ -216,6 +216,7 @@ QVariant QJsonDocument::toVariant() const #endif // !QT_NO_VARIANT /*! +\if !defined(qt7) \enum QJsonDocument::JsonFormat \since 5.1 @@ -227,6 +228,12 @@ QVariant QJsonDocument::toVariant() const \value Compact Defines a compact output as follows: \snippet code/src_corelib_serialization_qjsondocument.cpp 1 +\else + \typealias QJsonDocument::JsonFormat + \since 5.1 + + Same as \l QJsonValue::JsonFormat. +\endif */ /*! @@ -243,7 +250,8 @@ QByteArray QJsonDocument::toJson(JsonFormat format) const return json; return QJsonPrivate::Value::fromTrustedCbor(d->value).toJson( - format == JsonFormat::Compact ? QJsonValue::Compact : QJsonValue::Indented); + format == JsonFormat::Compact ? QJsonValue::JsonFormat::Compact + : QJsonValue::JsonFormat::Indented); } #endif @@ -472,7 +480,8 @@ QDebug operator<<(QDebug dbg, const QJsonDocument &o) dbg << "QJsonDocument()"; return dbg; } - QByteArray json = QJsonPrivate::Value::fromTrustedCbor(o.d->value).toJson(QJsonValue::Compact); + QByteArray json = + QJsonPrivate::Value::fromTrustedCbor(o.d->value).toJson(QJsonValue::JsonFormat::Compact); dbg.nospace() << "QJsonDocument(" << json.constData() // print as utf-8 string without extra quotation marks << ')'; |
