MCPcopy Create free account
hub / github.com/Martchus/tageditor / toTagValue

Method toTagValue

cli/scriptapi.cpp:407–424  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

405}
406
407TagParser::TagValue TagValueObject::toTagValue(TagParser::TagTextEncoding encoding) const
408{
409 auto res = TagParser::TagValue();
410 if (m_content.isUndefined() || m_content.isNull()) {
411 return res;
412 }
413 if (const auto variant = m_content.toVariant(); variant.userType() == QMetaType::QByteArray) {
414 const auto bytes = variant.toByteArray();
415 const auto container = TagParser::parseSignature(bytes.data(), static_cast<std::size_t>(bytes.size()));
416 res.assignData(bytes.data(), static_cast<std::size_t>(bytes.size()), TagParser::TagDataType::Binary);
417 res.setMimeType(TagParser::containerMimeType(container));
418 } else {
419 const auto str = m_content.toString();
420 res.assignText(reinterpret_cast<const char *>(str.utf16()), static_cast<std::size_t>(str.size()) * (sizeof(ushort) / sizeof(char)),
421 nativeUtf16Encoding, encoding);
422 }
423 return res;
424}
425
426void TagValueObject::flagChange()
427{

Callers 1

applyChangesMethod · 0.80

Calls 4

setMimeTypeMethod · 0.80
toStringMethod · 0.80
TagValueClass · 0.70
dataMethod · 0.45

Tested by

no test coverage detected