-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmain.cpp
More file actions
37 lines (28 loc) · 1.22 KB
/
main.cpp
File metadata and controls
37 lines (28 loc) · 1.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QQmlContext>
#include "videowallcontroller.h"
int main(int argc, char *argv[]) {
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication app(argc, argv);
QCoreApplication::setOrganizationName("Sensor Lab");
QCoreApplication::setOrganizationDomain("sensorlab.nl");
QCoreApplication::setApplicationName("VideowallClient");
// Register custom models
qmlRegisterType<VideoWallController>("nl.sensorlab.videowall", 1, 0, "VideoWallController");
qmlRegisterType<VideoWallController>("nl.sensorlab.videowall", 1, 0, "AnimationModel");
qmlRegisterUncreatableType<ConnectionState>("nl.sensorlab.videowall", 1, 0, "ConnectionState",
"Cannot create ConnectionState in QML");
// Create C++ models
VideoWallController* controller = new VideoWallController(&app);
// Setup QML engine
QQmlApplicationEngine engine;
QQmlContext* context = engine.rootContext();
context->setContextProperty("controller", controller);
context->setContextProperty("animationModel", controller->getAnimationModel());
engine.load(QUrl(QStringLiteral("qrc:/Main.qml")));
if (engine.rootObjects().isEmpty()) {
return -1;
}
return app.exec();
}