diff options
author | Kazumasa Mitsunari <knimitz@witz-inc.co.jp> | 2017-10-23 21:42:47 +0900 |
---|---|---|
committer | Kazumasa Mitsunari <knimitz@witz-inc.co.jp> | 2017-10-23 21:55:02 +0900 |
commit | 015e0b8da0e4d1cace622da74b00b6febf41713d (patch) | |
tree | ccca96182ef0af4c1ca4f0171027e2cbdb7b9657 | |
parent | 25009f24b154f38628928a363d0b52b2d664c9c5 (diff) |
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 <knimitz@witz-inc.co.jp>
-rw-r--r-- | app/app.pro | 2 | ||||
-rw-r--r-- | app/main.cpp | 17 | ||||
-rw-r--r-- | package/config.xml | 1 |
3 files changed, 19 insertions, 1 deletions
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 <QtQuickControls2/QQuickStyle> #include <QQuickWindow> #include "PresetDataObject.h" +#include <libhomescreen.hpp> #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 @@ <feature name="urn:AGL:widget:required-api"> <param name="windowmanager" value="ws" /> <param name="soundmanager" value="ws" /> + <param name="homescreen" value="ws" /> <param name="radio" value="ws" /> </feature> <feature name="urn:AGL:widget:required-permission"> |