From ff66bdf313d0695aa8042c3f707282fa68b0ead3 Mon Sep 17 00:00:00 2001 From: Marius Vlad Date: Wed, 15 Apr 2020 19:59:11 +0300 Subject: [PATCH] sample/app: Minor tweaks Signed-off-by: Marius Vlad --- sample/app/eventhandler.cpp | 1 + sample/app/main.qml | 35 ++++++++++++++++++++++++++++++++--- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/sample/app/eventhandler.cpp b/sample/app/eventhandler.cpp index b4b6a03..17decc4 100644 --- a/sample/app/eventhandler.cpp +++ b/sample/app/eventhandler.cpp @@ -213,6 +213,7 @@ void EventHandler::showWindow(QString id, QString json) { if (shell_desktop) { struct wl_output *output = getWlOutput(qApp->screens().first()); + qInfo() << "sending activate_app"; agl_shell_desktop_activate_app(shell_desktop, id.toStdString().c_str(), json.toStdString().c_str(), diff --git a/sample/app/main.qml b/sample/app/main.qml index 2feab6d..609c637 100644 --- a/sample/app/main.qml +++ b/sample/app/main.qml @@ -22,6 +22,9 @@ ApplicationWindow { property int pid: -1 property bool onscreen_role_set: false + property string mapp_id: '' + property string mapp_data_msg: '' + Label { id: title width: parent.width @@ -318,6 +321,26 @@ ApplicationWindow { onsButton3 = qsTr("") } + Timer { + id: activate_timer + interval: 500 + running: false + repeat: false + onTriggered: { + console.log("calling eventHandler.showWindow for " + mapp_id + " and data msg " + mapp_data_msg) + eventHandler.showWindow(mapp_id, mapp_data_msg) + mapp_id = '' + mapp_data_msg = '' + } + } + + + function armTimer(app_id, msg) { + mapp_id = app_id + mapp_data_msg = msg + activate_timer.running = true + } + function postMessage() { console.log("poster pressed") btndata = "" @@ -354,11 +377,17 @@ ApplicationWindow { // we start we also display it using the default policy engine pid = eventHandler.start(onsId, postmsg) console.log("calling eventHandler.start for " + onsId + " with pid " + pid) + + // this is necessary jus the first time as we don't queue the + // 'activate_app' event and pass it over once onscreenapp is + // started. It is implementation detail in case it is required + console.log("calling armTimer for " + onsId) + armTimer(onsId, postmsg) } else { - // we just need to display it - console.log("calling eventHandler.showWindow for " + onsId) - eventHandler.showWindow(onsId, postmsg) + // onscreenapp is already start we just need to activate + pass the data + eventHandler.showWindow(mapp_id, mapp_data_msg) } + } function qmlOnReplyShowWindow(text) { -- 2.16.6