X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=app%2Fmain.qml;h=99d50f81a9aa861e162b7f868e6e237e2bf509ba;hb=fe42b81570d9730042a52d02ba8715bf75686ca0;hp=758115b9a6c80d5af2b9ccf287b1e8cdc038e211;hpb=fe3d069d19d4c11c9d905da1d4412a77295a438d;p=apps%2Fonscreenapp.git diff --git a/app/main.qml b/app/main.qml index 758115b..99d50f8 100644 --- a/app/main.qml +++ b/app/main.qml @@ -19,6 +19,7 @@ import QtQuick.Window 2.2 import QtQuick.Layouts 1.1 import QtQuick.Controls 2.0 import AGL.Demo.Controls 1.0 +import OnScreenModel 1.0 Window { id: root @@ -30,29 +31,95 @@ Window { height: 1488 color: '#00000000' - function qmlLoader(url) { - console.log(qsTr('onscreenapp >>> qmlLoader load ' + url)); - osLoader.source = url; - } + Onscreen { + id: ons + anchors.centerIn: parent + visible: true + scale: 0 + + property string dsp_sts: "hide" + property string dsp_title: "" + property string dsp_icon: "" + property string dsp_contents: "" + property int btnNum: 0 + property string btn1Name: "" + property string btn2Name: "" + property string btn3Name: "" - function qmlOnScreenParameter(text) { - console.log(qsTr('onscreenapp >>> qmlOnScreenParameter.' + text)); - if (osLoader.status == Loader.Ready) { - // call qmlOnScreenParameter in qml to post parameter which from application - if (osLoader.item && osLoader.item.qmlOnScreenParameter) { - osLoader.item.qmlOnScreenParameter(text); + states: [ + State { + name: 'active' + when: ons.dsp_sts == "show" + PropertyChanges { + target: ons + scale: 1 + z: 1 + } + }, + State { + name: 'inactive' + when: ons.dsp_sts == "hide" + PropertyChanges { + target: ons + scale: 0 + z: -1 + } + } + ] + transitions: Transition { + NumberAnimation { + properties: 'scale'; + duration: 300; + easing.type: Easing.Linear + alwaysRunToEnd: true } } - else { - console.log("osLoader.status is not ready") + } + + OnScreenModel { + id: onscreenModel + } + + Timer { + id: ons_timer + interval: 3000 + onTriggered: { + hideOnScreen(); + clearOnScreenModel(); } } - Loader { - objectName: "loaderObject" - id: osLoader - anchors.centerIn: parent - width: childrenRect.width - height: childrenRect.height + Connections { + target: ons + onScaleChanged : { + if(ons.scale == 0) { + console.log(qsTr('hide animation finished')); + eventHandler.deactivateWindow(); + } + } + } + + function showOnScreen() { + console.log(qsTr('show onscreenapp')); + ons.dsp_title = onscreenModel.getTitle() + ons.dsp_icon = "../images/" + onscreenModel.getType() + ".svg" + ons.dsp_contents = onscreenModel.getContents() + ons.btnNum = onscreenModel.buttonNum() + ons.btn1Name = onscreenModel.buttonName(0) + ons.btn2Name = onscreenModel.buttonName(1) + ons.btn3Name = onscreenModel.buttonName(2) + ons_timer.running = ons.btnNum > 0 ? false : true + ons.dsp_sts = "show" + } + + function hideOnScreen() { + console.log(qsTr('hide onscreenapp')); + ons.dsp_sts = "hide" + ons_timer.running = false + } + + function setOnScreenModel(data) { + console.log(qsTr('onscreenapp >>> setModel status: ' + data)); + onscreenModel.setModel(data) } }