Expose target to JavaScript
This commit is contained in:
parent
1d4c18f474
commit
73dc64ce6a
|
@ -284,6 +284,20 @@ QString TagObject::type() const
|
|||
return Utility::qstr(m_tag.typeName());
|
||||
}
|
||||
|
||||
QJSValue TagObject::target() const
|
||||
{
|
||||
const auto &target = m_tag.target();
|
||||
auto obj = m_engine->newObject();
|
||||
obj.setProperty(QStringLiteral("level"), m_engine->toScriptValue(target.level()));
|
||||
obj.setProperty(QStringLiteral("levelName"), QJSValue(QString::fromStdString(target.levelName())));
|
||||
obj.setProperty(QStringLiteral("tracks"), m_engine->toScriptValue(QList<std::uint64_t>(target.tracks().cbegin(), target.tracks().cend())));
|
||||
obj.setProperty(QStringLiteral("chapters"), m_engine->toScriptValue(QList<std::uint64_t>(target.chapters().cbegin(), target.chapters().cend())));
|
||||
obj.setProperty(QStringLiteral("editions"), m_engine->toScriptValue(QList<std::uint64_t>(target.editions().cbegin(), target.editions().cend())));
|
||||
obj.setProperty(
|
||||
QStringLiteral("attachments"), m_engine->toScriptValue(QList<std::uint64_t>(target.attachments().cbegin(), target.attachments().cend())));
|
||||
return obj;
|
||||
}
|
||||
|
||||
QString TagObject::propertyNameForField(TagParser::KnownField field)
|
||||
{
|
||||
static const auto reverseMapping = [] {
|
||||
|
|
|
@ -129,6 +129,7 @@ private:
|
|||
class TagObject : public QObject {
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(QString type READ type)
|
||||
Q_PROPERTY(QJSValue target READ target)
|
||||
Q_PROPERTY(QJSValue fields READ fields)
|
||||
|
||||
public:
|
||||
|
@ -137,6 +138,7 @@ public:
|
|||
|
||||
TagParser::Tag &tag();
|
||||
QString type() const;
|
||||
QJSValue target() const;
|
||||
QJSValue &fields();
|
||||
|
||||
public Q_SLOTS:
|
||||
|
|
Loading…
Reference in New Issue