diff options
author | Loïc Collignon <loic.collignon@iot.bzh> | 2018-12-13 09:46:10 +0100 |
---|---|---|
committer | Loïc Collignon <loic.collignon@iot.bzh> | 2018-12-13 11:35:50 +0100 |
commit | 1b8ad361e3955ee469a38486a715bc0dc615c59f (patch) | |
tree | f567b88733a40b41f497f316d3aa4ccc8a6fa10b /app/main.cpp | |
parent | 09f1cb780345b0e975fd4d74b32c38e5e9596f63 (diff) |
Handle the volume_changed event
4A's High Level API now raises event when volume of a role is changed.
This handles it by subscribing to the event and update the corresponding
slider.
Bug: SPEC-2054
Change-Id: I137eaa461f0baa9206ee714c91e3ac998b9b2bf2
Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
Diffstat (limited to 'app/main.cpp')
-rw-r--r-- | app/main.cpp | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/app/main.cpp b/app/main.cpp index bdc0c5f..c0d4b5b 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -54,7 +54,7 @@ int main(int argc, char *argv[]) parser.process(app); QStringList positionalArguments = parser.positionalArguments(); - qmlRegisterType<Mixer>("Mixer", 1, 0, "Mixer"); + qmlRegisterType<Mixer>("Mixer", 1, 0, "Mixer"); QQmlApplicationEngine engine; if (positionalArguments.length() == 2) { @@ -87,11 +87,11 @@ int main(int argc, char *argv[]) if (qwm->requestSurface(graphic_role) != 0) { exit(EXIT_FAILURE); } - // Create an event callbnewack against an event type. Here a lambda is called when SyncDraw event occurs - qwm->set_event_handler(QLibWindowmanager::Event_SyncDraw, [qwm, &graphic_role](json_object*) { - fprintf(stderr, "Surface got syncDraw!\n"); - qwm->endDraw(graphic_role); - }); + // Create an event callbnewack against an event type. Here a lambda is called when SyncDraw event occurs + qwm->set_event_handler(QLibWindowmanager::Event_SyncDraw, [qwm, &graphic_role](json_object*) { + fprintf(stderr, "Surface got syncDraw!\n"); + qwm->endDraw(graphic_role); + }); // HomeScreen std::string token = secret.toStdString(); @@ -102,29 +102,30 @@ int main(int argc, char *argv[]) qwm->activateWindow(graphic_role); }); #endif + engine.load(QUrl(QStringLiteral("qrc:/Mixer.qml"))); // Find the instantiated model QObject and connect the signals/slots QList<QObject*> mobjs = engine.rootObjects(); - if (mobjs.empty()) - { - qDebug() << "[ERROR] Failed to load QML!"; - return -1; - } + if (mobjs.empty()) + { + qDebug() << "[ERROR] Failed to load QML!"; + return -1; + } - QQuickWindow *window = qobject_cast<QQuickWindow *>(mobjs.first()); + QQuickWindow *window = qobject_cast<QQuickWindow *>(mobjs.first()); #ifdef NATIVE_BUILD - window->setFlags(window->flags() & ~Qt::FramelessWindowHint); // Remove the borderless flag - window->setHeight(QGuiApplication::primaryScreen()->geometry().height()); + window->setFlags(window->flags() & ~Qt::FramelessWindowHint); // Remove the borderless flag + window->setHeight(QGuiApplication::primaryScreen()->geometry().height()); #else - QObject::connect(window, SIGNAL(frameSwapped()), qwm, SLOT(slotActivateWindow())); + QObject::connect(window, SIGNAL(frameSwapped()), qwm, SLOT(slotActivateWindow())); #endif } - else - { - qDebug() << "[ERROR] No port and token specified!"; - return -1; - } + else + { + qDebug() << "[ERROR] No port and token specified!"; + return -1; + } return app.exec(); } |