~lukas-kde/unity8/dashboard

« back to all changes in this revision

Viewing changes to plugins/LightDM/plugin.cpp

  • Committer: Lukáš Tinkl
  • Date: 2017-01-26 12:13:17 UTC
  • mfrom: (2749.1.49 unity8)
  • Revision ID: lukas.tinkl@canonical.com-20170126121317-qms39s9pikclidbe
merge trunk, fix conflicts

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
#include "DBusGreeter.h"
20
20
#include "DBusGreeterList.h"
21
21
#include "Greeter.h"
 
22
#include "PromptsModel.h"
22
23
#include "SessionsModel.h"
23
24
#include "UsersModel.h"
24
25
#include <libusermetricsoutput/ColorTheme.h>
32
33
 
33
34
static QObject *greeter_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
34
35
{
35
 
    Q_UNUSED(engine)
36
36
    Q_UNUSED(scriptEngine)
37
37
 
38
 
    Greeter *greeter = new Greeter();
 
38
    Greeter *greeter = Greeter::instance();
39
39
    new DBusGreeter(greeter, QStringLiteral("/"));
40
40
    new DBusGreeterList(greeter, QStringLiteral("/list"));
41
41
 
 
42
    engine->setObjectOwnership(greeter, QQmlEngine::CppOwnership);
 
43
 
42
44
    return greeter;
43
45
}
44
46
 
 
47
static QObject *prompts_provider(QQmlEngine *engine, QJSEngine *)
 
48
{
 
49
    auto model = Greeter::instance()->promptsModel();
 
50
    engine->setObjectOwnership(model, QQmlEngine::CppOwnership);
 
51
    return model;
 
52
}
 
53
 
45
54
static QObject *sessions_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
46
55
{
47
56
    Q_UNUSED(engine)
78
87
    #error No library defined in LightDM plugin
79
88
#endif
80
89
 
81
 
    qRegisterMetaType<QLightDM::Greeter::MessageType>("QLightDM::Greeter::MessageType");
82
 
    qRegisterMetaType<QLightDM::Greeter::PromptType>("QLightDM::Greeter::PromptType");
 
90
    qmlRegisterSingletonType<PromptsModel>(uri, 0, 1, "Prompts", prompts_provider);
83
91
 
84
92
    qmlRegisterSingletonType<SessionsModel>(uri, 0, 1, "Sessions", sessions_provider);
85
93
    qmlRegisterUncreatableType<QLightDM::SessionsModel>(uri, 0, 1, "SessionRoles", QStringLiteral("Type is not instantiable"));