diff --git a/src/Lib/Document/CRTPSubDocument/AssSubDocument.cc b/src/Lib/Document/CRTPSubDocument/AssSubDocument.cc index aa47925ca8d1e114375c2024eaef8faec3b75ef2..b465093754d4fa0cf412182ce733eb34bdc1ff10 100644 --- a/src/Lib/Document/CRTPSubDocument/AssSubDocument.cc +++ b/src/Lib/Document/CRTPSubDocument/AssSubDocument.cc @@ -1,4 +1,5 @@ #include "../CRTPSubDocument.hh" +#include "../../JsonBuilder.hh" using namespace Vivy; @@ -32,17 +33,13 @@ AssSubDocument::getStyles() const noexcept QJsonDocument AssSubDocument::getProperties() const noexcept { - QJsonDocument ret; - QJsonObject styleObject; for (const Ass::StylePtr &style : styles) { styleObject.insert(style->getElementName(), style->getProperties().object()); } - QJsonObject object{ - { "Styles", styleObject }, + return JsonBuilder::createOrderedJsonDocument({ { "File", filePath }, - }; - ret.setObject(object); - return ret; + { "Styles", styleObject }, + }); } diff --git a/src/Lib/Document/CRTPSubDocument/AudioSubDocument.cc b/src/Lib/Document/CRTPSubDocument/AudioSubDocument.cc index c26b99e424aa7b0c06efebd3f79628a11262b0dc..c91c3752109af9df968d21d46d32ca433557c1b9 100644 --- a/src/Lib/Document/CRTPSubDocument/AudioSubDocument.cc +++ b/src/Lib/Document/CRTPSubDocument/AudioSubDocument.cc @@ -1,4 +1,5 @@ #include "../CRTPSubDocument.hh" +#include "../../JsonBuilder.hh" using namespace Vivy; @@ -22,11 +23,8 @@ AudioSubDocument::getElementName() const noexcept QJsonDocument AudioSubDocument::getProperties() const noexcept { - QJsonDocument ret; - QJsonObject object{ - { "Audio context", contextPtr->getProperties().object() }, + return JsonBuilder::createOrderedJsonDocument({ { "File", filePath }, - }; - ret.setObject(object); - return ret; + { "Audio context", contextPtr->getProperties().object() }, + }); } diff --git a/src/Lib/Document/CRTPSubDocument/VideoSubDocument.cc b/src/Lib/Document/CRTPSubDocument/VideoSubDocument.cc index 085131abdd7353a3f5b61434a4efb75c5aa4201d..6f837e9c219e4747f71100191cad27c9298f102e 100644 --- a/src/Lib/Document/CRTPSubDocument/VideoSubDocument.cc +++ b/src/Lib/Document/CRTPSubDocument/VideoSubDocument.cc @@ -1,4 +1,5 @@ #include "../CRTPSubDocument.hh" +#include "../../JsonBuilder.hh" using namespace Vivy; @@ -22,11 +23,8 @@ VideoSubDocument::getElementName() const noexcept QJsonDocument VideoSubDocument::getProperties() const noexcept { - QJsonDocument ret; - QJsonObject object{ + return JsonBuilder::createOrderedJsonDocument({ { "Video context", contextPtr->getProperties().object() }, { "File", filePath }, - }; - ret.setObject(object); - return ret; + }); } diff --git a/src/Lib/Document/VivyDocument.cc b/src/Lib/Document/VivyDocument.cc index 01f15771799f2a80fb5c6e45a705d9688ab92855..6749fcc3cce6e5acb44bf584ccb9c345903835cc 100644 --- a/src/Lib/Document/VivyDocument.cc +++ b/src/Lib/Document/VivyDocument.cc @@ -1,5 +1,6 @@ #include "VivyDocument.hh" #include "../Utils.hh" +#include "../JsonBuilder.hh" using namespace Vivy; @@ -400,21 +401,13 @@ VivyDocument::getElementName() const noexcept QJsonDocument VivyDocument::getProperties() const noexcept { - QJsonDocument ret; - QJsonObject object; - QJsonObject subDocObject; - - subDocObject.insert("Audio sub-document", - audioDocument ? audioDocument->getProperties().object() : QJsonValue()); - subDocObject.insert("Video sub-document", - videoDocument ? videoDocument->getProperties().object() : QJsonValue()); - subDocObject.insert("ASS sub-document", - assDocument ? assDocument->getProperties().object() : QJsonValue()); - - object.insert("Uuid", getUuid().toString()); - object.insert("Name", getName()); - object.insert("Sub documents", subDocObject); - - ret.setObject(object); - return ret; + return JsonBuilder::createOrderedJsonDocument( + { { QStringLiteral("Uuid"), getUuid().toString() }, + { QStringLiteral("Name"), getName() }, + { QStringLiteral("Sub documents"), + JsonBuilder::createOrderedJsonObject({ + JsonBuilder::getSubDocumentJson("Audio sub document", audioDocument), + JsonBuilder::getSubDocumentJson("Video sub document", videoDocument), + JsonBuilder::getSubDocumentJson("ASS sub document", assDocument), + }) } }); }