Initial commit for the QML client:
[qtrapids] / src / client / models / Plugin.h
diff --git a/src/client/models/Plugin.h b/src/client/models/Plugin.h
new file mode 100644 (file)
index 0000000..129970c
--- /dev/null
@@ -0,0 +1,18 @@
+#include <QtDeclarative/qdeclarativeextensionplugin.h>
+#include <QtDeclarative/qdeclarative.h>
+
+#include "QDeclarativeDownloadListModel.h"
+
+// This class is needed to make DownloadListModel class available to QML:
+class QmlDownloadListModelPlugin : public QDeclarativeExtensionPlugin
+{
+    Q_OBJECT
+public:
+    virtual void registerTypes(const char *uri)
+    {
+        Q_ASSERT(QLatin1String(uri) == QLatin1String("Qt.labs.downloadlistmodel"));
+        qmlRegisterType<qtrapids::QDeclarativeDownloadListModel>(uri, 1, 0, "DownloadListModel");
+    }
+};
+
+Q_EXPORT_PLUGIN2(downloadlistmodelplugin, QT_PREPEND_NAMESPACE(QmlDownloadListModelPlugin));
\ No newline at end of file