Skip to content
Extraits de code Groupes Projets

Implement the VivyDocument specification

Fusionnées Kubat a demandé de fusionner vivy-doc vers master
2 files
+ 32
3
Comparer les modifications
  • Côte à côte
  • En ligne

Fichiers

+ 31
3
@@ -66,14 +66,42 @@ VivyDocument::save() const
throw std::runtime_error("Failed to open file in WO+Text mode: " + filepath.toStdString());
QTextStream writter(&file);
QJsonDocument json;
// TODO: Populate the json document
QJsonDocument json = getSaveJsonDocumentFileContent();
writter << json.toJson(QJsonDocument::Compact);
file.close();
}
QJsonDocument
VivyDocument::getSaveJsonDocumentFileContent() const
{
QJsonDocument ret;
QJsonObject json;
QJsonObject subDocumentJson;
json.insert(QString::number(KeyCapabilities),
QString::number(possibleCapabilities & documentType));
json.insert(QString::number(KeyName), documentName);
if (documentType & Capabilities::AudioAble)
subDocumentJson.insert(QString::number(KeySubAudio), audioDocument->getFilePath());
if (documentType & Capabilities::VideoAble)
subDocumentJson.insert(QString::number(KeySubAudio), videoDocument->getFilePath());
if (documentType & Capabilities::AssAble) {
if (assDocument->getFilePath() == getName()) {
// ASS is inside Vivy document
throw std::runtime_error("Unsupported save of internal ASS for now");
} else {
// ASS is ints own ASS file
subDocumentJson.insert(QString::number(KeySubAudio), assDocument->getFilePath());
}
}
json.insert(QString::number(KeySubDocuments), subDocumentJson);
ret.setObject(json);
return ret;
}
bool
VivyDocument::loadSubDocument(const QString &subName) noexcept
{
Chargement en cours