summaryrefslogtreecommitdiffstats
path: root/src/corelib/serialization/qjsondocument.cpp
diff options
context:
space:
mode:
authorIvan Solovev <ivan.solovev@qt.io>2024-12-18 15:32:02 +0100
committerIvan Solovev <ivan.solovev@qt.io>2025-01-02 13:07:21 +0100
commit3cb87d891bb040f73fb68b6c5e7e82518f603c59 (patch)
treeb33a3dbff6f991561ba16b719ec5fbade8f1167d /src/corelib/serialization/qjsondocument.cpp
parentfecae6ab1b1aa36f43b5cd87b229de4df37e44ab (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.cpp13
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
<< ')';