diff options
-rw-r--r-- | launcher/launcher.pro | 2 | ||||
-rw-r--r-- | launcher/src/homescreenhandler.cpp | 26 | ||||
-rw-r--r-- | launcher/src/homescreenhandler.h | 6 | ||||
-rw-r--r-- | launcher/src/main.cpp | 6 |
4 files changed, 23 insertions, 17 deletions
diff --git a/launcher/launcher.pro b/launcher/launcher.pro index e16e9ce..a02ccf0 100644 --- a/launcher/launcher.pro +++ b/launcher/launcher.pro @@ -18,7 +18,7 @@ TARGET = launcher QT = qml quick dbus websockets CONFIG += c++11 link_pkgconfig DESTDIR = $${OUT_PWD}/../package/root/bin -PKGCONFIG += qlibwindowmanager libhomescreen +PKGCONFIG += qlibwindowmanager qlibhomescreen include(../interfaces/interfaces.pri) diff --git a/launcher/src/homescreenhandler.cpp b/launcher/src/homescreenhandler.cpp index 9f15b6a..240f5c8 100644 --- a/launcher/src/homescreenhandler.cpp +++ b/launcher/src/homescreenhandler.cpp @@ -24,15 +24,14 @@ void* HomescreenHandler::myThis = 0; HomescreenHandler::HomescreenHandler(QObject *parent) : QObject(parent), - mp_hs(NULL) + mp_qhs(NULL) { - } HomescreenHandler::~HomescreenHandler() { - if (mp_hs != NULL) { - delete mp_hs; + if (mp_qhs != NULL) { + delete mp_qhs; } } @@ -42,16 +41,16 @@ void HomescreenHandler::init(int port, const char *token, QLibWindowmanager *qwm mp_qwm = qwm; m_myname = myname; - mp_hs = new LibHomeScreen(); - mp_hs->init(port, token); - mp_hs->registerCallback(nullptr, HomescreenHandler::onRep_static); + mp_qhs = new QLibHomeScreen(); + mp_qhs->init(port, token); + mp_qhs->registerCallback(nullptr, HomescreenHandler::onRep_static); - mp_hs->set_event_handler(LibHomeScreen::Event_ShowWindow,[this](json_object *object){ + mp_qhs->set_event_handler(QLibHomeScreen::Event_ShowWindow,[this](json_object *object){ HMI_DEBUG("Launcher","Surface launcher got Event_ShowWindow\n"); mp_qwm->activateWindow(m_myname); }); - mp_hs->set_event_handler(LibHomeScreen::Event_AppListChanged,[this](json_object *object){ + mp_qhs->set_event_handler(QLibHomeScreen::Event_AppListChanged,[this](json_object *object){ HMI_DEBUG("Launcher","laucher: appListChanged [%s]\n", json_object_to_json_string(object)); struct json_object *obj_param, *obj_oper, *obj_data; @@ -121,7 +120,7 @@ void HomescreenHandler::tapShortcut(QString application_id) value = json_object_new_string("normal.full"); json_object_object_add(j_json, "area", value); - mp_hs->showWindow(application_id.toStdString().c_str(), j_json); + mp_qhs->showWindow(application_id.toStdString().c_str(), j_json); } void HomescreenHandler::onRep_static(struct json_object* reply_contents) @@ -147,5 +146,10 @@ void HomescreenHandler::onRep(struct json_object* reply_contents) void HomescreenHandler::getRunnables(void) { - mp_hs->getRunnables(); + mp_qhs->getRunnables(); +} + +void HomescreenHandler::setQuickWindow(QQuickWindow *qw) +{ + mp_qhs->setQuickWindow(qw); } diff --git a/launcher/src/homescreenhandler.h b/launcher/src/homescreenhandler.h index 09b6848..6f0602d 100644 --- a/launcher/src/homescreenhandler.h +++ b/launcher/src/homescreenhandler.h @@ -19,7 +19,8 @@ #define HOMESCREENHANDLER_H #include <QObject> -#include <libhomescreen.hpp> +#include <QQuickWindow> +#include <qlibhomescreen.h> #include <string> #include <qlibwindowmanager.h> @@ -41,13 +42,14 @@ public: static void* myThis; static void onRep_static(struct json_object* reply_contents); + void setQuickWindow(QQuickWindow *qw); signals: void initAppList(QString data); void appListUpdate(QStringList info); private: - LibHomeScreen *mp_hs; + QLibHomeScreen *mp_qhs; QLibWindowmanager *mp_qwm; QString m_myname; }; diff --git a/launcher/src/main.cpp b/launcher/src/main.cpp index 7ff23ee..15ce0f6 100644 --- a/launcher/src/main.cpp +++ b/launcher/src/main.cpp @@ -152,9 +152,9 @@ int main(int argc, char *argv[]) engine.load(QUrl(QStringLiteral("qrc:/Launcher.qml"))); homescreenHandler->getRunnables(); -// QObject *root = engine.rootObjects().first(); -// QQuickWindow *window = qobject_cast<QQuickWindow *>(root); -// QObject::connect(window, SIGNAL(frameSwapped()), layoutHandler, SLOT(slotActivateSurface())); + QObject *root = engine.rootObjects().first(); + QQuickWindow *window = qobject_cast<QQuickWindow *>(root); + homescreenHandler->setQuickWindow(window); return a.exec(); } |