From d95921aa94d46f3d9748690ffa6c3300db5b6843 Mon Sep 17 00:00:00 2001 From: Kazumasa Mitsunari Date: Tue, 7 Nov 2017 17:54:50 +0900 Subject: add homescreen feature to get shortcut pushed event Change-Id: Ic3f4aebcd59d018d75f38f8041f86cdd003604f2 Signed-off-by: Kazumasa Mitsunari --- app/app.pro | 2 +- app/main.cpp | 20 ++++++++++++++++++++ package/config.xml | 1 + 3 files changed, 22 insertions(+), 1 deletion(-) 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 #include "qlibwindowmanager.h" #include "qlibsoundmanager.h" +#include +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 @@ + -- cgit 1.2.3-korg