aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzheng_wenlong <wenlong_zheng@nexty-ele.com>2019-05-30 13:56:53 +0900
committerzheng_wenlong <wenlong_zheng@nexty-ele.com>2019-05-30 13:56:53 +0900
commitf2bf8dfb05b1422e0c9c5bee1881da265ec3ad75 (patch)
treebc52e8b74547d49fcd79d3b6845abba867f8e94e
parent63fb3c6b389063f39324c542759a2d963c4d33bd (diff)
-rw-r--r--homescreen/homescreen.pro2
-rw-r--r--homescreen/qml/ShortcutArea.qml22
-rw-r--r--homescreen/src/homescreenhandler.cpp28
-rw-r--r--homescreen/src/homescreenhandler.h4
4 files changed, 33 insertions, 23 deletions
diff --git a/homescreen/homescreen.pro b/homescreen/homescreen.pro
index e3f1e27..a443fdf 100644
--- a/homescreen/homescreen.pro
+++ b/homescreen/homescreen.pro
@@ -20,7 +20,7 @@ CONFIG += c++11 link_pkgconfig
DESTDIR = $${OUT_PWD}/../package/root/bin
PKGCONFIG += libwindowmanager qtappfw
-LIBS += -lhomescreen -lwindowmanager
+LIBS += -lqthomescreen -lwindowmanager
include(../interfaces/interfaces.pri)
diff --git a/homescreen/qml/ShortcutArea.qml b/homescreen/qml/ShortcutArea.qml
index b33df22..072ad0a 100644
--- a/homescreen/qml/ShortcutArea.qml
+++ b/homescreen/qml/ShortcutArea.qml
@@ -74,19 +74,19 @@ Item {
name: model.name
active: model.name === launcher.current
onClicked: {
- if(model.application === 'navigation@0.1') {
- pid = launcher.launch('browser@5.0')
- } else {
- pid = launcher.launch(model.application.toLowerCase())
- }
+// if(model.application === 'navigation@0.1') {
+// pid = launcher.launch('browser@5.0')
+// } else {
+// pid = launcher.launch(model.application.toLowerCase())
+// }
- if (1 < pid) {
+// if (1 < pid) {
applicationArea.visible = true
- }
- else {
- console.warn(model.application)
- console.warn("app cannot be launched!")
- }
+// }
+// else {
+// console.warn(model.application)
+// console.warn("app cannot be launched!")
+// }
if(model.name === 'Navigation') {
homescreenHandler.tapShortcut('browser')
} else {
diff --git a/homescreen/src/homescreenhandler.cpp b/homescreen/src/homescreenhandler.cpp
index def2545..d5b1c41 100644
--- a/homescreen/src/homescreenhandler.cpp
+++ b/homescreen/src/homescreenhandler.cpp
@@ -24,15 +24,15 @@ void* HomescreenHandler::myThis = 0;
HomescreenHandler::HomescreenHandler(QObject *parent) :
QObject(parent),
- mp_hs(NULL), mp_wm(NULL), m_role()
+ mp_qhs(NULL), mp_wm(NULL), m_role()
{
}
HomescreenHandler::~HomescreenHandler()
{
- if (mp_hs != NULL) {
- delete mp_hs;
+ if (mp_qhs != NULL) {
+ delete mp_qhs;
}
if (mp_wm != NULL) {
delete mp_wm;
@@ -57,14 +57,23 @@ void HomescreenHandler::init(const char* role, int port, const char *token)
setenv("QT_IVI_SURFACE_ID", ivi_id.c_str(), true);
// LibHomeScreen initialize
- mp_hs = new LibHomeScreen();
- mp_hs->init(port, token);
+ mp_qhs = new QLibHomeScreen();
+ mp_qhs->init(port, token);
myThis = this;
- mp_hs->registerCallback(nullptr, HomescreenHandler::onRep_static);
+ mp_qhs->registerCallback(nullptr, HomescreenHandler::onRep_static);
- mp_hs->set_event_handler(LibHomeScreen::Event_OnScreenMessage, [this](json_object *object){
+ mp_qhs->set_event_handler(QLibHomeScreen::Event_ShowWindow,[this](json_object *object){
+ HMI_DEBUG("HomeScreen","Surface HomeScreen got Event_ShowWindow\n");
+ static bool first_start = true;
+ if (first_start) {
+ first_start = false;
+ this->mp_wm->activateWindow(this->m_role.c_str(), "fullscreen");
+ }
+ });
+
+ mp_qhs->set_event_handler(QLibHomeScreen::Event_OnScreenMessage, [this](json_object *object){
const char *display_message = json_object_get_string(
json_object_object_get(object, "display_message"));
HMI_DEBUG("HomeScreen","set_event_handler Event_OnScreenMessage display_message = %s", display_message);
@@ -88,7 +97,8 @@ void HomescreenHandler::disconnect_frame_swapped(void)
void HomescreenHandler::attach(QQmlApplicationEngine* engine)
{
QQuickWindow *window = qobject_cast<QQuickWindow *>(engine->rootObjects().first());
- this->loading = QObject::connect(window, SIGNAL(frameSwapped()), this, SLOT(disconnect_frame_swapped()));
+// this->loading = QObject::connect(window, SIGNAL(frameSwapped()), this, SLOT(disconnect_frame_swapped()));
+ mp_qhs->setQuickWindow(window);
}
void HomescreenHandler::changeLayout(int pattern)
@@ -120,7 +130,7 @@ void HomescreenHandler::changeLayout(int pattern)
void HomescreenHandler::tapShortcut(QString application_name)
{
HMI_DEBUG("HomeScreen","tapShortcut %s", application_name.toStdString().c_str());
- mp_hs->tapShortcut(application_name.toStdString().c_str());
+ mp_qhs->tapShortcut(application_name.toStdString().c_str());
}
void HomescreenHandler::onRep_static(struct json_object* reply_contents)
diff --git a/homescreen/src/homescreenhandler.h b/homescreen/src/homescreenhandler.h
index c32e6cc..df3dfc7 100644
--- a/homescreen/src/homescreenhandler.h
+++ b/homescreen/src/homescreenhandler.h
@@ -18,7 +18,7 @@
#define HOMESCREENHANDLER_H
#include <QObject>
-#include <libhomescreen.hpp>
+#include <qlibhomescreen.h>
#include <libwindowmanager.h>
#include <string>
@@ -60,7 +60,7 @@ private Q_SLOTS:
void disconnect_frame_swapped(void);
private:
- LibHomeScreen *mp_hs;
+ QLibHomeScreen *mp_qhs;
LibWindowmanager *mp_wm;
std::string m_role;
QMetaObject::Connection loading;