21#include <QtQml/qqml.h>
27#include "launchermodel.h"
28#include "launcheritem.h"
29#include "appdrawermodel.h"
31using namespace lomiri::shell::launcher;
33static QObject* modelProvider(QQmlEngine* , QJSEngine* )
35 return new LauncherModel();
38void LomiriLauncherPlugin::registerTypes(
const char *uri)
40 Q_ASSERT(uri == QLatin1String(
"Lomiri.Launcher"));
42 qmlRegisterUncreatableType<LauncherModelInterface>(uri, 0, 1,
"LauncherModelInterface", QStringLiteral(
"Abstract Interface. Cannot be instantiated."));
43 qmlRegisterUncreatableType<LauncherItemInterface>(uri, 0, 1,
"LauncherItemInterface", QStringLiteral(
"Abstract Interface. Cannot be instantiated."));
44 qmlRegisterUncreatableType<QuickListModelInterface>(uri, 0, 1,
"QuickListInterface", QStringLiteral(
"Abstract Interface. Cannot be instantiated."));
46 qmlRegisterSingletonType<LauncherModel>(uri, 0, 1,
"LauncherModel", modelProvider);
47 qmlRegisterUncreatableType<LauncherItem>(uri, 0, 1,
"LauncherItem", QStringLiteral(
"Can't create new Launcher Items in QML. Get them from the LauncherModel."));
48 qmlRegisterUncreatableType<QuickListModel>(uri, 0, 1,
"QuickListModel", QStringLiteral(
"Can't create a QuickListModel in QML. Get them from the LauncherItems."));
49 qmlRegisterType<AppDrawerModel>(uri, 0, 1,
"AppDrawerModel");