From 015e0b8da0e4d1cace622da74b00b6febf41713d Mon Sep 17 00:00:00 2001 From: Kazumasa Mitsunari Date: Mon, 23 Oct 2017 21:42:47 +0900 Subject: Add homescreen feature to get shortcut pushed event HomeScreen pushes shortcut pushed event to the application, then, application activate surface Change-Id: Ic1437a721e41948662251e724aa6d5707ecb1b9d Signed-off-by: Kazumasa Mitsunari --- app/app.pro | 2 +- app/main.cpp | 17 +++++++++++++++++ package/config.xml | 1 + 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/app/app.pro b/app/app.pro index bbc92a0..0c05150 100644 --- a/app/app.pro +++ b/app/app.pro @@ -5,7 +5,7 @@ HEADERS = PresetDataObject.h qlibwindowmanager.h qlibsoundmanager.h SOURCES = main.cpp PresetDataObject.cpp qlibwindowmanager.cpp qlibsoundmanager.cpp CONFIG += link_pkgconfig -PKGCONFIG += soundmanager windowmanager +PKGCONFIG += soundmanager windowmanager homescreen RESOURCES += \ radio.qrc \ diff --git a/app/main.cpp b/app/main.cpp index 7c967c2..ef0204a 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -26,9 +26,11 @@ #include #include #include "PresetDataObject.h" +#include #include "qlibwindowmanager.h" #include "qlibsoundmanager.h" +static LibHomeScreen* hs; static QLibWindowmanager* qwm; static QLibSoundmanager* smw; static std::string myname = std::string("Radio"); @@ -92,6 +94,9 @@ int main(int argc, char *argv[]) bindingAddress.setQuery(query); context->setContextProperty(QStringLiteral("bindingAddress"), bindingAddress); + std::string token = secret.toStdString(); + + hs = new LibHomeScreen(); qwm = new QLibWindowmanager(); smw = new QLibSoundmanager(); @@ -112,6 +117,18 @@ int main(int argc, char *argv[]) int sourceID = root->property("sourceID").toInt(); smw->connect(sourceID, "default"); }); + + // HomeScreen + hs->init(port, token.c_str()); + hs->set_event_handler(LibHomeScreen::Event_TapShortcut, [qwm](json_object *object){ + const char *appname = json_object_get_string( + json_object_object_get(object, "application_name")); + if(myname == appname) + { + qDebug("Surface %s got tapShortcut\n", appname); + qwm->activateSurface(myname.c_str()); + } + }); // SoundManager, event handler is set inside smw smw->init(port, secret); diff --git a/package/config.xml b/package/config.xml index bdfe8b6..5ffcc6c 100644 --- a/package/config.xml +++ b/package/config.xml @@ -9,6 +9,7 @@ + -- cgit 1.2.3-korg