From af777881b2c0e0b16de7832b7b2b0c1d2e51668d Mon Sep 17 00:00:00 2001 From: Kubat <mael.martin31@gmail.com> Date: Thu, 26 Aug 2021 16:04:58 +0200 Subject: [PATCH] BUILD: Separate the different sub-document's implementations into distinct C++ files --- .../CRTPSubDocument/AssSubDocument.cc | 51 +++++++++++++ .../AudioSubDocument.cc} | 74 +------------------ .../CRTPSubDocument/VideoSubDocument.cc | 27 +++++++ 3 files changed, 79 insertions(+), 73 deletions(-) create mode 100644 src/Lib/Document/CRTPSubDocument/AssSubDocument.cc rename src/Lib/Document/{CRTPSubDocument.cc => CRTPSubDocument/AudioSubDocument.cc} (53%) create mode 100644 src/Lib/Document/CRTPSubDocument/VideoSubDocument.cc diff --git a/src/Lib/Document/CRTPSubDocument/AssSubDocument.cc b/src/Lib/Document/CRTPSubDocument/AssSubDocument.cc new file mode 100644 index 00000000..de627f85 --- /dev/null +++ b/src/Lib/Document/CRTPSubDocument/AssSubDocument.cc @@ -0,0 +1,51 @@ +#include "../CRTPSubDocument.hh" + +#include <QJsonObject> +#include <QJsonDocument> + +using namespace Vivy; + +// Init a ASS sub-document from a file +void +AssSubDocument::initFromPath(const QString &path) +{ + Ass::AssFactory factory(path); + factory.getStyles(styles); + factory.getLines(lines); +} + +QString +AssSubDocument::getElementName() const noexcept +{ + return "AssSubDocument"; +} + +const QVector<Ass::LinePtr> & +AssSubDocument::getLines() const noexcept +{ + return lines; +} + +const QVector<Ass::StylePtr> & +AssSubDocument::getStyles() const noexcept +{ + return styles; +} + +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 }, + { "File", filePath }, + }; + ret.setObject(object); + return ret; +} diff --git a/src/Lib/Document/CRTPSubDocument.cc b/src/Lib/Document/CRTPSubDocument/AudioSubDocument.cc similarity index 53% rename from src/Lib/Document/CRTPSubDocument.cc rename to src/Lib/Document/CRTPSubDocument/AudioSubDocument.cc index ed788183..5a205fa7 100644 --- a/src/Lib/Document/CRTPSubDocument.cc +++ b/src/Lib/Document/CRTPSubDocument/AudioSubDocument.cc @@ -1,12 +1,10 @@ -#include "CRTPSubDocument.hh" +#include "../CRTPSubDocument.hh" #include <QJsonObject> #include <QJsonDocument> using namespace Vivy; -// AudioSubDocument implementation - // Get the default stream index or -1 if not possible int AudioSubDocument::getDefaultStreamIndex() const noexcept @@ -69,73 +67,3 @@ AudioSubDocument::getProperties() const noexcept ret.setObject(object); return ret; } - -// VideoSubDocument implementation - -// Init a video sub-document from a file -void -VideoSubDocument::initFromPath(const QString &) -{ -} - -QString -VideoSubDocument::getElementName() const noexcept -{ - return "VideoSubDocument"; -} - -QJsonDocument -VideoSubDocument::getProperties() const noexcept -{ - QJsonDocument ret; - QJsonObject object; - ret.setObject(object); - return ret; -} - -// AssSubDocument implementation - -// Init a ASS sub-document from a file -void -AssSubDocument::initFromPath(const QString &path) -{ - Ass::AssFactory factory(path); - factory.getStyles(styles); - factory.getLines(lines); -} - -QString -AssSubDocument::getElementName() const noexcept -{ - return "AssSubDocument"; -} - -const QVector<Ass::LinePtr> & -AssSubDocument::getLines() const noexcept -{ - return lines; -} - -const QVector<Ass::StylePtr> & -AssSubDocument::getStyles() const noexcept -{ - return styles; -} - -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 }, - { "File", filePath }, - }; - ret.setObject(object); - return ret; -} diff --git a/src/Lib/Document/CRTPSubDocument/VideoSubDocument.cc b/src/Lib/Document/CRTPSubDocument/VideoSubDocument.cc new file mode 100644 index 00000000..87b70c0c --- /dev/null +++ b/src/Lib/Document/CRTPSubDocument/VideoSubDocument.cc @@ -0,0 +1,27 @@ +#include "../CRTPSubDocument.hh" + +#include <QJsonObject> +#include <QJsonDocument> + +using namespace Vivy; + +// Init a video sub-document from a file +void +VideoSubDocument::initFromPath(const QString &) +{ +} + +QString +VideoSubDocument::getElementName() const noexcept +{ + return "VideoSubDocument"; +} + +QJsonDocument +VideoSubDocument::getProperties() const noexcept +{ + QJsonDocument ret; + QJsonObject object; + ret.setObject(object); + return ret; +} -- GitLab