change seq
authorwang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com>
Mon, 20 May 2019 03:30:10 +0000 (11:30 +0800)
committerwang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com>
Mon, 20 May 2019 03:30:10 +0000 (11:30 +0800)
Change-Id: I088e279f15505e3a38e71960ce1e8d2d460c7fb7

launcher/launcher.pro
launcher/src/homescreenhandler.cpp
launcher/src/homescreenhandler.h
launcher/src/main.cpp

index e16e9ce..a02ccf0 100644 (file)
@@ -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)
 
index 9f15b6a..240f5c8 100644 (file)
@@ -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);
 }
index 09b6848..6f0602d 100644 (file)
@@ -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;
 };
index 7ff23ee..15ce0f6 100644 (file)
@@ -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();
 }