From 5e2792ff1a8f8368271c84a4e630ff08726cf713 Mon Sep 17 00:00:00 2001 From: Kubat <mael.martin31@gmail.com> Date: Mon, 30 Aug 2021 14:12:07 +0200 Subject: [PATCH] LIB: Use the JsonBuilder to create "ordered QJsonDocuments", to be ordered in the property viewer --- .../CRTPSubDocument/AssSubDocument.cc | 11 +++----- .../CRTPSubDocument/AudioSubDocument.cc | 10 +++---- .../CRTPSubDocument/VideoSubDocument.cc | 8 +++--- src/Lib/Document/VivyDocument.cc | 27 +++++++------------ 4 files changed, 21 insertions(+), 35 deletions(-) diff --git a/src/Lib/Document/CRTPSubDocument/AssSubDocument.cc b/src/Lib/Document/CRTPSubDocument/AssSubDocument.cc index aa47925c..b4650937 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 c26b99e4..c91c3752 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 085131ab..6f837e9c 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 01f15771..6749fcc3 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), + }) } }); } -- GitLab