23
23
#include "applicationscreenshotprovider.h"
24
24
#include "mirsurfacemanager.h"
25
25
#include "mirsurfaceitem.h"
26
#include "sessionmanager.h"
26
27
#include "ubuntukeyboardinfo.h"
44
45
return qtmir::MirSurfaceManager::singleton();
48
static QObject* sessionManagerSingleton(QQmlEngine* engine, QJSEngine* scriptEngine) {
50
Q_UNUSED(scriptEngine);
51
return qtmir::SessionManager::singleton();
47
54
class UnityApplicationPlugin : public QQmlExtensionPlugin {
49
56
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface/1.0")
54
61
Q_ASSERT(QLatin1String(uri) == QLatin1String("Unity.Application"));
56
63
qRegisterMetaType<qtmir::ApplicationManager*>("ApplicationManager*"); //need for queueing signals
64
qRegisterMetaType<qtmir::Application*>("Application*");
57
65
qRegisterMetaType<qtmir::MirSurfaceItem*>("MirSurfaceItem*");
66
qRegisterMetaType<qtmir::MirSurfaceItemModel*>("MirSurfaceItemModel*");
67
qRegisterMetaType<qtmir::Session*>("Session*");
68
qRegisterMetaType<qtmir::SessionModel*>("SessionModel*");
59
70
qmlRegisterUncreatableType<unity::shell::application::ApplicationManagerInterface>(
60
71
uri, 0, 1, "ApplicationManagerInterface", "Abstract interface. Cannot be created in QML");
63
74
qmlRegisterUncreatableType<unity::shell::application::ApplicationInfoInterface>(
64
75
uri, 0, 1, "ApplicationInfoInterface", "Abstract interface. Cannot be created in QML");
65
76
qmlRegisterUncreatableType<qtmir::Application>(
66
uri, 0, 1, "ApplicationInfo", "ApplicationInfo can't be instantiated");
77
uri, 0, 1, "ApplicationInfo", "Application can't be instantiated");
67
78
qmlRegisterSingletonType<qtmir::MirSurfaceManager>(
68
79
uri, 0, 1, "SurfaceManager", surfaceManagerSingleton);
80
qmlRegisterSingletonType<qtmir::SessionManager>(
81
uri, 0, 1, "SessionManager", sessionManagerSingleton);
69
82
qmlRegisterUncreatableType<qtmir::MirSurfaceItem>(
70
83
uri, 0, 1, "MirSurfaceItem", "MirSurfaceItem can't be instantiated from QML");
84
qmlRegisterUncreatableType<qtmir::Session>(
85
uri, 0, 1, "Session", "Session can't be instantiated from QML");
71
86
qmlRegisterType<qtmir::UbuntuKeyboardInfo>(uri, 0, 1, "UbuntuKeyboardInfo");