21
21
#include "application.h"
22
22
#include "application_manager.h"
23
#include "mirfocuscontroller.h"
23
24
#include "mirsurfacemanager.h"
24
25
#include "mirsurfaceinterface.h"
25
26
#include "mirsurfaceitem.h"
26
#include "sessionmanager.h"
27
#include "mirsurfacelistmodel.h"
27
28
#include "ubuntukeyboardinfo.h"
29
30
// platforms/mirserver
38
39
using namespace qtmir;
40
static QObject* applicationManagerSingleton(QQmlEngine* engine, QJSEngine* scriptEngine) {
42
QObject* applicationManagerSingleton(QQmlEngine* engine, QJSEngine* scriptEngine) {
42
44
Q_UNUSED(scriptEngine);
43
45
qCDebug(QTMIR_APPLICATIONS) << "applicationManagerSingleton - engine=" << engine << "scriptEngine=" << scriptEngine;
45
47
return qtmir::ApplicationManager::singleton();
48
static QObject* surfaceManagerSingleton(QQmlEngine* engine, QJSEngine* scriptEngine) {
50
QObject* surfaceManagerSingleton(QQmlEngine* engine, QJSEngine* scriptEngine) {
50
52
Q_UNUSED(scriptEngine);
51
53
qCDebug(QTMIR_APPLICATIONS) << "surfaceManagerSingleton - engine=" << engine << "scriptEngine=" << scriptEngine;
53
55
return qtmir::MirSurfaceManager::singleton();
56
static QObject* sessionManagerSingleton(QQmlEngine* engine, QJSEngine* scriptEngine) {
58
Q_UNUSED(scriptEngine);
59
return qtmir::SessionManager::singleton();
63
58
QObject* ubuntuKeyboardInfoSingleton(QQmlEngine* /*engine*/, QJSEngine* /*scriptEngine*/) {
64
59
if (!UbuntuKeyboardInfo::instance()) {
65
60
new UbuntuKeyboardInfo;
70
65
QObject* mirSingleton(QQmlEngine* /*engine*/, QJSEngine* /*scriptEngine*/) {
71
66
return qtmir::Mir::instance();
69
QObject* mirFocusControllerSingleton(QQmlEngine*, QJSEngine*)
71
return MirFocusController::instance();
73
73
} // anonymous namespace
75
75
class UnityApplicationPlugin : public QQmlExtensionPlugin {
84
84
qRegisterMetaType<qtmir::ApplicationManager*>("ApplicationManager*"); //need for queueing signals
85
85
qRegisterMetaType<qtmir::Application*>("Application*");
86
86
qRegisterMetaType<unity::shell::application::MirSurfaceInterface*>("MirSurfaceInterface*");
87
qRegisterMetaType<qtmir::Session*>("Session*");
88
qRegisterMetaType<qtmir::SessionInterface*>("SessionInterface*");
89
qRegisterMetaType<qtmir::SessionModel*>("SessionModel*");
87
qRegisterMetaType<unity::shell::application::MirSurfaceListInterface*>("unity::shell::application::MirSurfaceListInterface*");
90
88
qRegisterMetaType<MirSurfaceAttrib>("MirSurfaceAttrib");
92
90
qmlRegisterUncreatableType<unity::shell::application::ApplicationManagerInterface>(
99
97
uri, 0, 1, "ApplicationInfo", "Application can't be instantiated");
100
98
qmlRegisterSingletonType<qtmir::MirSurfaceManager>(
101
99
uri, 0, 1, "SurfaceManager", surfaceManagerSingleton);
102
qmlRegisterSingletonType<qtmir::SessionManager>(
103
uri, 0, 1, "SessionManager", sessionManagerSingleton);
100
qmlRegisterSingletonType<MirFocusController>(uri, 0, 1, "MirFocusController", mirFocusControllerSingleton);
104
101
qmlRegisterUncreatableType<unity::shell::application::MirSurfaceInterface>(
105
102
uri, 0, 1, "MirSurface", "MirSurface can't be instantiated from QML");
106
103
qmlRegisterType<qtmir::MirSurfaceItem>(uri, 0, 1, "MirSurfaceItem");
107
qmlRegisterUncreatableType<qtmir::Session>(
108
uri, 0, 1, "Session", "Session can't be instantiated from QML");
109
104
qmlRegisterSingletonType<qtmir::UbuntuKeyboardInfo>(
110
105
uri, 0, 1, "UbuntuKeyboardInfo", ubuntuKeyboardInfoSingleton);
111
106
qmlRegisterSingletonType<qtmir::Mir>(uri, 0, 1, "Mir", mirSingleton);