diff options
author | Kazumasa Mitsunari <knimitz@witz-inc.co.jp> | 2017-11-07 17:54:50 +0900 |
---|---|---|
committer | Kazumasa Mitsunari <knimitz@witz-inc.co.jp> | 2017-11-07 18:12:11 +0900 |
commit | d95921aa94d46f3d9748690ffa6c3300db5b6843 (patch) | |
tree | 7e1e7d8709c3f14d01b42a2a1a106f2027c48498 | |
parent | 7ad0e32937b67ee4c4e77f3374c47bc7966fe514 (diff) |
add homescreen feature to get shortcut pushed event
Change-Id: Ic3f4aebcd59d018d75f38f8041f86cdd003604f2
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
-rw-r--r-- | app/app.pro | 2 | ||||
-rw-r--r-- | app/main.cpp | 20 | ||||
-rw-r--r-- | package/config.xml | 1 |
3 files changed, 22 insertions, 1 deletions
diff --git a/app/app.pro b/app/app.pro index bc070f8..6835583 100644 --- a/app/app.pro +++ b/app/app.pro @@ -5,7 +5,7 @@ HEADERS = qlibwindowmanager.h qlibsoundmanager.h SOURCES = main.cpp qlibwindowmanager.cpp qlibsoundmanager.cpp CONFIG += link_pkgconfig -PKGCONFIG += libwindowmanager libsoundmanager +PKGCONFIG += libwindowmanager libsoundmanager libhomescreen RESOURCES += \ mediaplayer.qrc \ diff --git a/app/main.cpp b/app/main.cpp index 2aac877..4c406e6 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -29,7 +29,9 @@ #include <QQuickWindow> #include "qlibwindowmanager.h" #include "qlibsoundmanager.h" +#include <libhomescreen.hpp> +static LibHomeScreen* hs; static QLibWindowmanager* qwm; static QLibSoundmanager* smw; static std::string myname = std::string("MediaPlayer"); @@ -63,6 +65,10 @@ int main(int argc, char *argv[]) query.addQueryItem(QStringLiteral("token"), secret); bindingAddress.setQuery(query); context->setContextProperty(QStringLiteral("bindingAddress"), bindingAddress); + + std::string token = secret.toStdString(); + + hs = new LibHomeScreen(); qwm = new QLibWindowmanager(); smw = new QLibSoundmanager(); @@ -82,6 +88,20 @@ int main(int argc, char *argv[]) QObject *root = engine.rootObjects().first(); 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 36db02a..480aadd 100644 --- a/package/config.xml +++ b/package/config.xml @@ -10,6 +10,7 @@ <param name="mediaplayer" value="ws" /> <param name="windowmanager" value="ws" /> <param name="soundmanager" value="ws" /> + <param name="homescreen" value="ws" /> <param name="Bluetooth-Manager" value="ws" /> </feature> <feature name="urn:AGL:widget:required-permission"> |