23#include <QQmlListProperty>
26class QmlExtensionFile :
public QObject
29 Q_PROPERTY(QString name MEMBER m_name NOTIFY changed)
30 Q_PROPERTY(QString description MEMBER m_description NOTIFY changed)
31 Q_PROPERTY(QString file MEMBER m_file NOTIFY changed)
32 Q_PROPERTY(QString url MEMBER m_url NOTIFY changed)
33 Q_PROPERTY(QString sha256 MEMBER m_sha256 NOTIFY changed)
34 Q_PROPERTY(QString size MEMBER m_size NOTIFY changed)
35 Q_PROPERTY(
bool standard MEMBER m_standard NOTIFY changed)
38 explicit QmlExtensionFile(QObject *parent = 0);
40 QString name()
const {
return m_name; }
41 QString description()
const {
return m_description; }
42 QString file()
const {
return m_file; }
43 QString url()
const {
return m_url; }
44 QString sha256()
const {
return m_sha256; }
45 QString size()
const {
return m_size; }
46 bool standard()
const {
return m_standard; }
53 QString m_description;
61class QmlExtension :
public QObject
64 Q_PROPERTY(QString
id READ
id WRITE setId NOTIFY changed)
65 Q_PROPERTY(QString name READ name WRITE setName NOTIFY changed)
66 Q_PROPERTY(QString version READ version WRITE setVersion NOTIFY changed)
67 Q_PROPERTY(QQmlListProperty<QmlExtensionFile> files READ files NOTIFY changed)
70 static QmlExtension *load(
const QString &
id);
71 static QString extensionFileName(
const QString &
id);
72 static QDir installDir(
const QString &
id);
73 static QDir appDir(
const QString &
id);
74 static const QString WHISPER_ID;
76 explicit QmlExtension(QObject *parent = 0);
78 QString id()
const {
return m_id; }
79 void setId(
const QString &);
80 QString name()
const {
return m_name; }
81 void setName(
const QString &);
82 QString version()
const {
return m_version; }
83 void setVersion(
const QString &);
84 QQmlListProperty<QmlExtensionFile> files()
86 return QQmlListProperty<QmlExtensionFile>(
this, &m_files);
88 int fileCount()
const {
return m_files.count(); }
89 QmlExtensionFile *file(
int index)
const {
return m_files[index]; }
90 QString localPath(
int index);
91 bool downloaded(
int index);
100 QList<QmlExtensionFile *> m_files;