~unity-team/qtmir/no-upstart-notification

« back to all changes in this revision

Viewing changes to src/modules/Unity/Application/plugin.cpp

  • Committer: CI bot
  • Author(s): Nick Dedekind, Nick Dedekind
  • Date: 2014-09-03 08:03:38 UTC
  • mfrom: (222.2.44 qtmir)
  • Revision ID: ps-jenkins@lists.canonical.com-20140903080338-hp7zj6ldudmpompg
Added support for nested prompt sessions. Fixes: 1358388
Approved by: Gerry Boland, PS Jenkins bot

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
#include "applicationscreenshotprovider.h"
24
24
#include "mirsurfacemanager.h"
25
25
#include "mirsurfaceitem.h"
 
26
#include "sessionmanager.h"
26
27
#include "ubuntukeyboardinfo.h"
27
28
 
28
29
// qtmir
44
45
    return qtmir::MirSurfaceManager::singleton();
45
46
}
46
47
 
 
48
static QObject* sessionManagerSingleton(QQmlEngine* engine, QJSEngine* scriptEngine) {
 
49
    Q_UNUSED(engine);
 
50
    Q_UNUSED(scriptEngine);
 
51
    return qtmir::SessionManager::singleton();
 
52
}
 
53
 
47
54
class UnityApplicationPlugin : public QQmlExtensionPlugin {
48
55
    Q_OBJECT
49
56
    Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface/1.0")
54
61
        Q_ASSERT(QLatin1String(uri) == QLatin1String("Unity.Application"));
55
62
 
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*");
58
69
 
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");
72
87
    }
73
88