~gerboland/qtmir/ual-catch-exception

« back to all changes in this revision

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

  • Committer: CI Train Bot
  • Author(s): Daniel d'Andrada
  • Date: 2016-04-13 18:38:49 UTC
  • mfrom: (466.2.16 surfaceListModel)
  • Revision ID: ci-train-bot@canonical.com-20160413183849-qdqd0akyoa4rdl9i
Surface-based window management

- Session is no longer exported to QML. It's now an internal qtmir concept.
Approved by: Gerry Boland

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
// local
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"
28
29
 
29
30
// platforms/mirserver
37
38
 
38
39
using namespace qtmir;
39
40
 
40
 
static QObject* applicationManagerSingleton(QQmlEngine* engine, QJSEngine* scriptEngine) {
 
41
namespace {
 
42
QObject* applicationManagerSingleton(QQmlEngine* engine, QJSEngine* scriptEngine) {
41
43
    Q_UNUSED(engine);
42
44
    Q_UNUSED(scriptEngine);
43
45
    qCDebug(QTMIR_APPLICATIONS) << "applicationManagerSingleton - engine=" << engine << "scriptEngine=" << scriptEngine;
45
47
    return qtmir::ApplicationManager::singleton();
46
48
}
47
49
 
48
 
static QObject* surfaceManagerSingleton(QQmlEngine* engine, QJSEngine* scriptEngine) {
 
50
QObject* surfaceManagerSingleton(QQmlEngine* engine, QJSEngine* scriptEngine) {
49
51
    Q_UNUSED(engine);
50
52
    Q_UNUSED(scriptEngine);
51
53
    qCDebug(QTMIR_APPLICATIONS) << "surfaceManagerSingleton - engine=" << engine << "scriptEngine=" << scriptEngine;
53
55
    return qtmir::MirSurfaceManager::singleton();
54
56
}
55
57
 
56
 
static QObject* sessionManagerSingleton(QQmlEngine* engine, QJSEngine* scriptEngine) {
57
 
    Q_UNUSED(engine);
58
 
    Q_UNUSED(scriptEngine);
59
 
    return qtmir::SessionManager::singleton();
60
 
}
61
 
 
62
 
namespace {
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();
72
67
}
 
68
 
 
69
QObject* mirFocusControllerSingleton(QQmlEngine*, QJSEngine*)
 
70
{
 
71
    return MirFocusController::instance();
 
72
}
73
73
} // anonymous namespace
74
74
 
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");
91
89
 
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);