From 5ba4327b148f81852c6e2a53bc51ab07b238602e Mon Sep 17 00:00:00 2001 From: wang_zhiqiang Date: Thu, 29 Nov 2018 11:13:12 +0800 Subject: [PATCH] modify display/hide onscreen sequence --- app/eventhandler.cpp | 146 ++++++++++++--------- app/eventhandler.h | 24 ++-- app/main.cpp | 13 +- package/config.xml | 2 +- sample/app/app.pro | 12 +- sample/app/eventhandler.cpp | 19 ++- sample/app/eventhandler.h | 2 + sample/app/main.cpp | 33 ++--- sample/app/main.qml | 6 +- sample/package/package.pro | 6 + sample/{ons => package/qml}/images/answer.png | Bin sample/{ons => package/qml}/images/disable.png | Bin .../{ons => package/qml}/images/heart_1079x400.png | Bin sample/{ons => package/qml}/images/images.qrc | 0 .../{ons => package/qml}/images/oval_1079x400.png | Bin sample/{ons => package/qml}/images/reject.png | Bin sample/{ons => package/qml}/msg.qml | 1 + sample/{ons => package/qml}/phone.qml | 1 + sample/{ons => package/qml}/system.qml | 1 + sample/{ons => package/qml}/vics.qml | 1 + sample/readme.md | 2 +- 21 files changed, 146 insertions(+), 123 deletions(-) rename sample/{ons => package/qml}/images/answer.png (100%) rename sample/{ons => package/qml}/images/disable.png (100%) rename sample/{ons => package/qml}/images/heart_1079x400.png (100%) rename sample/{ons => package/qml}/images/images.qrc (100%) rename sample/{ons => package/qml}/images/oval_1079x400.png (100%) rename sample/{ons => package/qml}/images/reject.png (100%) rename sample/{ons => package/qml}/msg.qml (98%) rename sample/{ons => package/qml}/phone.qml (98%) rename sample/{ons => package/qml}/system.qml (97%) rename sample/{ons => package/qml}/vics.qml (96%) diff --git a/app/eventhandler.cpp b/app/eventhandler.cpp index 044eec6..39db933 100644 --- a/app/eventhandler.cpp +++ b/app/eventhandler.cpp @@ -19,31 +19,42 @@ #include #include #include -#include +#include +#include #include +#include #include "eventhandler.h" +const char _parameter[] = "parameter"; +const char _replyto[] = "replyto"; +const char _data[] = "data"; +const char _file[] = "file"; +const char _area[] = "area"; +const char _suffix[] = ".qml"; +const char _button_name[] = "buttonName"; +const char _button_press_mode[] = "buttonPressMode"; +const char _button_press_state[] = "buttonPressState"; +const char _drawing_name[] = "drawing_name"; +const char _application_id[] = "application_id"; + void* EventHandler::myThis = 0; EventHandler::EventHandler(QObject *parent) : QObject(parent), - mp_hs(NULL), - mp_wm(NULL), - mp_qw(NULL) + mp_hs(nullptr), + mp_wm(nullptr) { m_dspreq = QString(""); - my_id = QString(APP_ID); - my_role = QString(ROLE_NAME); m_req.clear(); } EventHandler::~EventHandler() { - if (mp_hs != NULL) { + if (mp_hs != nullptr) { delete mp_hs; } - if (mp_wm != NULL) { + if (mp_wm != nullptr) { delete mp_wm; } } @@ -57,67 +68,78 @@ void EventHandler::init(int port, const char *token) mp_hs = new LibHomeScreen(); mp_hs->init(port, token); -// my_id = QString(std::strtok(std::getenv("AFM_ID"), "@")); mp_hs->registerCallback(nullptr, EventHandler::onRep_static); mp_hs->set_event_handler(LibHomeScreen::Event_ShowWindow, [this](json_object *object){ - // {"id": "onscreenXXX", "parameter": {"replyid": "app's id", "file": "onsreen file path", "data": {"key": "value", ...}}} - struct json_object *appid; - json_object_object_get_ex(object, "application_id", &appid); - const char *id = json_object_get_string(appid); - if(my_id != QString(id)) { - HMI_DEBUG(APP_ID, "Event_ShowWindow id = %s", id); - return; - } - else - HMI_DEBUG(APP_ID, "recived json message is[%s]", json_object_get_string(object)); + // {"id": "onscreenXXX", "parameter": {"file": "onsreen file path", "data": {"key": "value", ...}}, "replyto": "app's id"} + HMI_DEBUG(APP_ID, "recived json message is[%s]", json_object_get_string(object)); struct json_object *param; - json_object_object_get_ex(object, "parameter", ¶m); + json_object_object_get_ex(object, _parameter, ¶m); if(json_object_get_type(param) != json_type_object ) { HMI_DEBUG(APP_ID, "parameter error!"); return; } + struct json_object *qml_path; + const char *file = nullptr; + if(json_object_object_get_ex(param, _file, &qml_path)) + file = json_object_get_string(qml_path); + if(file == nullptr) { + HMI_DEBUG(APP_ID, "received qml file is null!"); + return; + } + + QFileInfo file_info(file); + if(!file_info.isFile() || !QString(file).contains(QString(_suffix), Qt::CaseSensitive)) { + HMI_DEBUG(APP_ID, "received qml file error! file=%s.", file); + return; + } + struct json_object *replyid; - json_object_object_get_ex(param, "replyid", &replyid); - const char *_replyid = json_object_get_string(replyid); - - struct json_object *path; - json_object_object_get_ex(param, "file", &path); - const char *_path = json_object_get_string(path); - - struct json_object *data; - json_bool rtn = json_object_object_get_ex(param, "data", &data); - const char* _data = ""; - if(rtn) { - _data = json_object_to_json_string(data); + const char *replyto = nullptr; + if(json_object_object_get_ex(param, _replyto, &replyid)) + replyto = json_object_get_string(replyid); + if(replyto == nullptr) { + HMI_DEBUG(APP_ID, "received replyto is null!"); + return; } - m_dspreq = QString(_replyid); + struct json_object *display_area; + const char *area = nullptr; + if(json_object_object_get_ex(param, _area, &display_area)) + area = json_object_get_string(display_area); + + struct json_object *param_data; + const char* data = nullptr; + if(json_object_object_get_ex(param, _data, ¶m_data)) + data = json_object_to_json_string(param_data); + + m_dspreq = QString(replyto); if(m_req.contains(m_dspreq)) { - m_req[m_dspreq] = qMakePair(QString(_path), QString(_data)); + m_req[m_dspreq] = qMakePair(QString(file), QString(data)); } else - m_req.insert(QString(m_dspreq), qMakePair(QString(_path), QString(_data))); + m_req.insert(QString(m_dspreq), qMakePair(QString(file), QString(data))); + + if(area == nullptr) + this->activateWindow(ROLE_NAME); + else + this->activateWindow(ROLE_NAME, area); - this->mp_wm->activateWindow(ROLE_NAME); HMI_DEBUG(APP_ID, "received showWindow event, end!, line=%d", __LINE__); }); mp_hs->set_event_handler(LibHomeScreen::Event_HideWindow, [this](json_object *object){ struct json_object *value; - json_object_object_get_ex(object, "application_id", &value); + json_object_object_get_ex(object, _application_id, &value); const char *appid = json_object_get_string(value); + HMI_DEBUG(APP_ID, "request release onScreen application is %s!", appid); - HMI_DEBUG(APP_ID, "release onScreen is %s!", appid); - - if (appid == my_id) { - emit this->signalLoader(QVariant("")); - this->mp_wm->deactivateWindow(ROLE_NAME); - } - else { - HMI_DEBUG(APP_ID, "!!!!releaseOnScreen is not displaying!!!!!"); - } + // onscreenapp only can release by application which request show + if (appid == m_dspreq) + this->deactivateWindow(); + else + HMI_DEBUG(APP_ID, "request hideWindow application isn't request displaying application, m_dspreq=%s", m_dspreq.toStdString().c_str()); }); if (mp_wm->requestSurface(ROLE_NAME) != 0) { @@ -134,7 +156,7 @@ void EventHandler::init(int port, const char *token) mp_wm->set_event_handler(QLibWindowmanager::Event_Visible, [this](json_object *object) { struct json_object *value; - json_object_object_get_ex(object, "drawing_name", &value); + json_object_object_get_ex(object, _drawing_name, &value); const char *name = json_object_get_string(value); HMI_DEBUG(APP_ID, "Event_Visible kKeyDrawingName = %s", name); @@ -142,7 +164,7 @@ void EventHandler::init(int port, const char *token) mp_wm->set_event_handler(QLibWindowmanager::Event_Invisible, [this](json_object *object) { struct json_object *value; - json_object_object_get_ex(object, "drawing_name", &value); + json_object_object_get_ex(object, _drawing_name, &value); const char *name = json_object_get_string(value); HMI_DEBUG(APP_ID, "Event_Invisible kKeyDrawingName = %s", name); @@ -151,48 +173,44 @@ void EventHandler::init(int port, const char *token) HMI_DEBUG(APP_ID, "LayoutHander::init() finished."); } -void EventHandler::setQuickWindow(QQuickWindow *qw) -{ - mp_qw = qw; -} - void EventHandler::onRep_static(struct json_object* reply_contents) { static_cast(EventHandler::myThis)->onRep(reply_contents); } + void EventHandler::onRep(struct json_object* reply_contents) { const char* str = json_object_to_json_string(reply_contents); HMI_DEBUG(APP_ID, "EventHandler::onReply %s", str); } -void EventHandler::activateWindow(QString &role) +void EventHandler::activateWindow(const char *role, const char *area) { HMI_DEBUG(APP_ID, "EventHandler::activateWindow()"); - mp_wm->activateWindow(role); + mp_wm->activateWindow(role, area); } -void EventHandler::deactivateWindow(QString &role) +void EventHandler::deactivateWindow() { HMI_DEBUG(APP_ID, "EventHandler::deactivateWindow()"); emit this->signalLoader(QVariant("")); - mp_wm->deactivateWindow(role); + mp_wm->deactivateWindow(ROLE_NAME); } -void EventHandler::onScreenReply(const QString &btn_name) +void EventHandler::onScreenReply(const QString &btn_name, const QString &press_mode, const QString &press_state) { HMI_DEBUG(APP_ID, "EventHandler::onScreenReply()"); - deactivateWindow(my_role); +// deactivateWindow(); struct json_object* j_obj = json_object_new_object(); - json_object_object_add(j_obj, "application_id", json_object_new_string(m_dspreq.toLatin1())); + json_object_object_add(j_obj, _application_id, json_object_new_string(m_dspreq.toLatin1())); struct json_object* j_param = json_object_new_object(); - json_object_object_add(j_param, "method", json_object_new_string("Buttons.ButtonPress")); - json_object_object_add(j_param, "buttonName", json_object_new_string(btn_name.toStdString().c_str())); - json_object_object_add(j_param, "buttonPressMode", json_object_new_string("Short")); - json_object_object_add(j_obj, "parameter", j_param); + json_object_object_add(j_param, _button_name, json_object_new_string(btn_name.toStdString().c_str())); + json_object_object_add(j_param, _button_press_mode, json_object_new_string(press_mode.toStdString().c_str())); + json_object_object_add(j_param, _button_press_state, json_object_new_string(press_state.toStdString().c_str())); + json_object_object_add(j_obj, _parameter, j_param); mp_hs->replyShowWindow(m_dspreq.toLatin1(), j_obj); } diff --git a/app/eventhandler.h b/app/eventhandler.h index 58f694d..612e3de 100644 --- a/app/eventhandler.h +++ b/app/eventhandler.h @@ -22,15 +22,14 @@ #include #include #include - #include #include #include "hmi-debug.h" -#define ROLE_NAME "on_screen.app" +#define ROLE_NAME "on_screen" #define APP_ID "onscreenapp" -class QQuickWindow; +class QQmlApplicationEngine; class EventHandler : public QObject { @@ -38,34 +37,29 @@ class EventHandler : public QObject public: explicit EventHandler(QObject *parent = 0); ~EventHandler(); + EventHandler(const EventHandler&) = delete; + EventHandler& operator=(const EventHandler&) = delete; void init(int port, const char* token); - void setQuickWindow(QQuickWindow *qw); - void onRep(struct json_object* reply_contents); static void* myThis; static void onRep_static(struct json_object* reply_contents); - void activateWindow(QString &role); - Q_INVOKABLE void deactivateWindow(QString &role); - Q_INVOKABLE void onScreenReply(const QString &btn_name); + void activateWindow(const char *role, const char *area = "normal"); + Q_INVOKABLE void deactivateWindow(); + Q_INVOKABLE void onScreenReply(const QString &btn_name, + const QString &press_mode = QString("shortPress"), + const QString &press_state = QString("release")); signals: void signalLoader(QVariant url); void signalOnScreenParameter(QVariant text); private: - LibHomeScreen *mp_hs; QLibWindowmanager* mp_wm; - - QQuickWindow *mp_qw; - QMap> m_req; QString m_dspreq; - QString my_id; - QString my_role; }; - #endif // HOMESCREENHANDLER_H diff --git a/app/main.cpp b/app/main.cpp index ea727c6..67a6e9e 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -16,19 +16,14 @@ #include #include -#include #include #include #include -#include #include #include #include "eventhandler.h" -using namespace std; - -static EventHandler* eventHandler; int main(int argc, char *argv[]) { @@ -59,10 +54,9 @@ int main(int argc, char *argv[]) HMI_DEBUG(APP_ID, "port = %d, token = %s", port, token.toStdString().c_str()); - eventHandler = new EventHandler(); - eventHandler->init(port, token.toStdString().c_str()); - QQmlApplicationEngine engine; + EventHandler *eventHandler = new EventHandler(); + eventHandler->init(port, token.toStdString().c_str()); engine.rootContext()->setContextProperty("eventHandler", eventHandler); engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); if (engine.rootObjects().isEmpty()) { @@ -72,13 +66,10 @@ int main(int argc, char *argv[]) QObject *root = engine.rootObjects().first(); QQuickWindow *window = qobject_cast(root); - - eventHandler->setQuickWindow(window); QObject::connect(eventHandler, SIGNAL(signalLoader(QVariant)), window, SLOT(qmlLoader(QVariant))); QObject::connect(eventHandler, SIGNAL(signalOnScreenParameter(QVariant)), window, SLOT(qmlOnScreenParameter(QVariant))); HMI_DEBUG(APP_ID, "Launched!"); - return app.exec(); } diff --git a/package/config.xml b/package/config.xml index d814166..7b151a3 100644 --- a/package/config.xml +++ b/package/config.xml @@ -1,6 +1,6 @@ - onscreenapp + OnScreenApp This is a demo OnScreen application diff --git a/sample/app/app.pro b/sample/app/app.pro index b4c75f3..22d0c89 100644 --- a/sample/app/app.pro +++ b/sample/app/app.pro @@ -1,5 +1,9 @@ TARGET = onstestapp -QT = quick +QT = quick quickcontrols2 qml + +CONFIG += c++11 link_pkgconfig +PKGCONFIG += qlibwindowmanager qlibhomescreen +DESTDIR = $${OUT_PWD}/../package/root/bin SOURCES = main.cpp \ eventhandler.cpp @@ -7,10 +11,8 @@ SOURCES = main.cpp \ RESOURCES += \ qml.qrc -LIBS += -lqtwindowmanager -lqthomescreen -ljson-c - -DESTDIR = $${OUT_PWD}/../package/root/bin - HEADERS += \ eventhandler.h +LIBS += -ljson-c + diff --git a/sample/app/eventhandler.cpp b/sample/app/eventhandler.cpp index b88bda4..34e7e3e 100644 --- a/sample/app/eventhandler.cpp +++ b/sample/app/eventhandler.cpp @@ -19,11 +19,15 @@ #include #include #include -#include +//#include +#include +#include #include "eventhandler.h" void* EventHandler::myThis = 0; +const char _drawing_name[] = "drawing_name"; + EventHandler::EventHandler(QObject *parent) : QObject(parent), mp_hs(NULL), @@ -52,8 +56,8 @@ void EventHandler::init(int port, const char *token) mp_hs = new QLibHomeScreen(); mp_hs->init(port, token); - mp_hs->set_event_handler(QLibHomeScreen::Event_TapShortcut, [this](json_object *object){ - this->mp_wm->activateWindow(ROLE_NAME); + mp_hs->set_event_handler(QLibHomeScreen::Event_ShowWindow, [this](json_object *object){ + this->mp_wm->activateWindow(ROLE_NAME, "normal"); HMI_DEBUG(APP_ID, "received showWindow event, end!, line=%d", __LINE__); }); @@ -76,7 +80,7 @@ void EventHandler::init(int port, const char *token) mp_wm->set_event_handler(QLibWindowmanager::Event_Visible, [this](json_object *object) { struct json_object *value; - json_object_object_get_ex(object, "drawing_name", &value); + json_object_object_get_ex(object, _drawing_name, &value); const char *name = json_object_get_string(value); HMI_DEBUG(APP_ID, "Event_Active kKeyDrawingName = %s", name); @@ -84,7 +88,7 @@ void EventHandler::init(int port, const char *token) mp_wm->set_event_handler(QLibWindowmanager::Event_Invisible, [this](json_object *object) { struct json_object *value; - json_object_object_get_ex(object, "drawing_name", &value); + json_object_object_get_ex(object, _drawing_name, &value); const char *name = json_object_get_string(value); HMI_DEBUG(APP_ID, "Event_Inactive kKeyDrawingName = %s", name); @@ -106,3 +110,8 @@ void EventHandler::showWindow(QString id, QString json) else mp_hs->showWindow(id.toStdString().c_str(), json_tokener_parse(json.toStdString().c_str())); } + +void EventHandler::hideWindow(QString id) +{ + mp_hs->hideWindow(id.toStdString().c_str()); +} diff --git a/sample/app/eventhandler.h b/sample/app/eventhandler.h index 61b519b..c601d0d 100644 --- a/sample/app/eventhandler.h +++ b/sample/app/eventhandler.h @@ -31,6 +31,7 @@ using namespace std; class QQuickWindow; +class QQmlApplicationEngine; class EventHandler : public QObject { @@ -44,6 +45,7 @@ public: static void* myThis; Q_INVOKABLE void showWindow(QString id, QString json); + Q_INVOKABLE void hideWindow(QString id); signals: void signalOnReplyShowWindow(QVariant val); diff --git a/sample/app/main.cpp b/sample/app/main.cpp index 5e822f7..69642dc 100644 --- a/sample/app/main.cpp +++ b/sample/app/main.cpp @@ -14,20 +14,17 @@ * limitations under the License. */ -#include #include -#include #include -#include #include #include #include #include #include +#include #include "eventhandler.h" -static EventHandler* eventHandler; int main(int argc, char *argv[]) { @@ -39,7 +36,7 @@ int main(int argc, char *argv[]) app.setOrganizationDomain(QStringLiteral("automotivelinux.org")); app.setOrganizationName(QStringLiteral("AutomotiveGradeLinux")); - //QQuickStyle::setStyle("AGL"); + QQuickStyle::setStyle("AGL"); QCommandLineParser parser; parser.addPositionalArgument("port", app.translate("main", "port for binding")); @@ -50,33 +47,31 @@ int main(int argc, char *argv[]) QStringList positionalArguments = parser.positionalArguments(); QQmlApplicationEngine engine; - QQmlContext *context = engine.rootContext(); - QUrl bindingAddress; int port = 0; QString secret; if (positionalArguments.length() == 2) { port = positionalArguments.takeFirst().toInt(); secret = positionalArguments.takeFirst(); - bindingAddress.setScheme(QStringLiteral("ws")); - bindingAddress.setHost(QStringLiteral("localhost")); - bindingAddress.setPort(port); - bindingAddress.setPath(QStringLiteral("/api")); - QUrlQuery query; - query.addQueryItem(QStringLiteral("token"), secret); - bindingAddress.setQuery(query); - context->setContextProperty(QStringLiteral("bindingAddress"), bindingAddress); - } else { - context->setContextProperty(QStringLiteral("bindingAddress"), bindingAddress); } - eventHandler = new EventHandler(); + EventHandler *eventHandler = new EventHandler(); eventHandler->init(port, secret.toStdString().c_str()); engine.rootContext()->setContextProperty("eventHandler", eventHandler); + QString qmldir = QCoreApplication::applicationDirPath(); + qmldir.replace(QString("bin"), QString("qml")); + qmldir.append('/'); + qDebug() << "####qmldir=" << qmldir; + engine.rootContext()->setContextProperty("qmldir", qmldir); engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); + if (engine.rootObjects().isEmpty()) { + HMI_DEBUG(APP_ID, "Fatal Error, rootObject is empty!"); + return -1; + } + qDebug() << "####" << QDir::currentPath() << QCoreApplication::applicationDirPath(); + QObject *root = engine.rootObjects().first(); QQuickWindow *window = qobject_cast(root); - QObject::connect(eventHandler, SIGNAL(signalOnReplyShowWindow(QVariant)), window, SLOT(qmlOnReplyShowWindow(QVariant))); eventHandler->setQuickWindow(window); diff --git a/sample/app/main.qml b/sample/app/main.qml index ccce169..94de871 100644 --- a/sample/app/main.qml +++ b/sample/app/main.qml @@ -3,7 +3,7 @@ import QtQuick.Window 2.2 import QtQuick.Controls 2.0 import QtQuick.Layouts 1.0 import QtQuick.VirtualKeyboard 2.1 - +import AGL.Demo.Controls 1.0 ApplicationWindow { id: root @@ -12,7 +12,8 @@ ApplicationWindow { height: 1487 property string onsId: qsTr("onscreenapp") - property string pri_path: qsTr("/home/0/app-data/OnScreen/qml/") +// property string pri_path: qsTr("/home/0/app-data/OnScreen/qml/") + property string pri_path: qmldir property string filepath: pri_path + qsTr("vics.qml") property string msgdata: "" property string postmsg: "" @@ -354,5 +355,6 @@ ApplicationWindow { function qmlOnReplyShowWindow(text) { console.log("onstestapp received:",text); output.text = text; + eventHandler.hideWindow(onsId); } } diff --git a/sample/package/package.pro b/sample/package/package.pro index faf285c..5a0c7d8 100644 --- a/sample/package/package.pro +++ b/sample/package/package.pro @@ -13,6 +13,12 @@ copy_config.commands = $(COPY_FILE) \"$$replace(copy_config.depends, /, $$QMAKE_ QMAKE_EXTRA_TARGETS += copy_config PRE_TARGETDEPS += $$copy_config.target +copy_qml.target = $$OUT_PWD/root/qml/ +copy_qml.depends = $$_PRO_FILE_PWD_/qml/. +copy_qml.commands = $(COPY_DIR) \"$$replace(copy_qml.depends, /, $$QMAKE_DIR_SEP)\" \"$$replace(copy_qml.target, /, $$QMAKE_DIR_SEP)\" +QMAKE_EXTRA_TARGETS += copy_qml +PRE_TARGETDEPS += $$copy_qml.target + wgt.target = package wgt.commands = wgtpkg-pack -f -o onstestapp.wgt root diff --git a/sample/ons/images/answer.png b/sample/package/qml/images/answer.png similarity index 100% rename from sample/ons/images/answer.png rename to sample/package/qml/images/answer.png diff --git a/sample/ons/images/disable.png b/sample/package/qml/images/disable.png similarity index 100% rename from sample/ons/images/disable.png rename to sample/package/qml/images/disable.png diff --git a/sample/ons/images/heart_1079x400.png b/sample/package/qml/images/heart_1079x400.png similarity index 100% rename from sample/ons/images/heart_1079x400.png rename to sample/package/qml/images/heart_1079x400.png diff --git a/sample/ons/images/images.qrc b/sample/package/qml/images/images.qrc similarity index 100% rename from sample/ons/images/images.qrc rename to sample/package/qml/images/images.qrc diff --git a/sample/ons/images/oval_1079x400.png b/sample/package/qml/images/oval_1079x400.png similarity index 100% rename from sample/ons/images/oval_1079x400.png rename to sample/package/qml/images/oval_1079x400.png diff --git a/sample/ons/images/reject.png b/sample/package/qml/images/reject.png similarity index 100% rename from sample/ons/images/reject.png rename to sample/package/qml/images/reject.png diff --git a/sample/ons/msg.qml b/sample/package/qml/msg.qml similarity index 98% rename from sample/ons/msg.qml rename to sample/package/qml/msg.qml index d6adb97..f89ffa0 100644 --- a/sample/ons/msg.qml +++ b/sample/package/qml/msg.qml @@ -9,6 +9,7 @@ Item { visible: true width: 1079 height: 400 + scale: screenInfo.scale_factor() function qmlOnScreenParameter(message) { console.log(qsTr('OnScreenVICS:QML:System >>> qmlOnScreenMessage.'), message); diff --git a/sample/ons/phone.qml b/sample/package/qml/phone.qml similarity index 98% rename from sample/ons/phone.qml rename to sample/package/qml/phone.qml index 3fc23ee..1b25ed3 100644 --- a/sample/ons/phone.qml +++ b/sample/package/qml/phone.qml @@ -9,6 +9,7 @@ Item { visible: true width: 1079 height: 400 + scale: screenInfo.scale_factor() property string messageText: "Incoming Call" function qmlOnScreenParameter(message) { diff --git a/sample/ons/system.qml b/sample/package/qml/system.qml similarity index 97% rename from sample/ons/system.qml rename to sample/package/qml/system.qml index 8592698..d42eeb7 100644 --- a/sample/ons/system.qml +++ b/sample/package/qml/system.qml @@ -9,6 +9,7 @@ Item { visible: true width: 1079 height: 400 + scale: screenInfo.scale_factor() function qmlOnScreenParameter(message) { console.log(qsTr('OnScreenSys:QML:System >>> qmlOnScreenMessage.'), message); diff --git a/sample/ons/vics.qml b/sample/package/qml/vics.qml similarity index 96% rename from sample/ons/vics.qml rename to sample/package/qml/vics.qml index 30d5cd1..2848fbc 100644 --- a/sample/ons/vics.qml +++ b/sample/package/qml/vics.qml @@ -9,6 +9,7 @@ Item { visible: true width: 1079 height: 400 + scale: screenInfo.scale_factor() function qmlOnScreenParameter(message) { console.log(qsTr('OnScreenVICS:QML:System >>> qmlOnScreenMessage.'), message); diff --git a/sample/readme.md b/sample/readme.md index ae6d0da..539f386 100644 --- a/sample/readme.md +++ b/sample/readme.md @@ -8,7 +8,7 @@ A test application for onscreenapp - when onscreenapp is compiled, this app's wgt file will exist at "onscreenapp/sample/package", called onstestapp.wgt. - install -: `afm-util install onstestapp.wgt;sync` + `afm-util install onstestapp.wgt;sync` ## dependence -- 2.16.6