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 size MEMBER m_size NOTIFY changed)
34 Q_PROPERTY(
bool standard MEMBER m_standard NOTIFY changed)
37 explicit QmlExtensionFile(QObject *parent = 0);
39 QString name()
const {
return m_name; }
40 QString description()
const {
return m_description; }
41 QString file()
const {
return m_file; }
42 QString url()
const {
return m_url; }
43 QString size()
const {
return m_size; }
44 bool standard()
const {
return m_standard; }
51 QString m_description;
58class QmlExtension :
public QObject
61 Q_PROPERTY(QString
id READ
id WRITE setId NOTIFY changed)
62 Q_PROPERTY(QString name READ name WRITE setName NOTIFY changed)
63 Q_PROPERTY(QString version READ version WRITE setVersion NOTIFY changed)
64 Q_PROPERTY(QQmlListProperty<QmlExtensionFile> files READ files NOTIFY changed)
67 static QmlExtension *load(
const QString &
id);
68 static QString extensionFileName(
const QString &
id);
69 static QDir installDir(
const QString &
id);
70 static QDir appDir(
const QString &
id);
71 static const QString WHISPER_ID;
73 explicit QmlExtension(QObject *parent = 0);
75 QString id()
const {
return m_id; }
76 void setId(
const QString &);
77 QString name()
const {
return m_name; }
78 void setName(
const QString &);
79 QString version()
const {
return m_version; }
80 void setVersion(
const QString &);
81 QQmlListProperty<QmlExtensionFile> files()
83 return QQmlListProperty<QmlExtensionFile>(
this, &m_files);
85 int fileCount()
const {
return m_files.count(); }
86 QmlExtensionFile *file(
int index)
const {
return m_files[index]; }
87 QString localPath(
int index);
88 bool downloaded(
int index);
97 QList<QmlExtensionFile *> m_files;