X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=launcher%2Fqml%2FLauncher.qml;h=a45a57a6b7d3fb2779889005798cbd568bf4ccf7;hb=3508d025b0046fffb337ffceb912947ef1dcf47d;hp=2247f518abf3ef3efeef9d47ae09cbd832d885b8;hpb=353da85004c72efb2bd6f117a15713b58e0df866;p=apps%2Flauncher.git diff --git a/launcher/qml/Launcher.qml b/launcher/qml/Launcher.qml index 2247f51..a45a57a 100644 --- a/launcher/qml/Launcher.qml +++ b/launcher/qml/Launcher.qml @@ -30,76 +30,167 @@ ApplicationWindow { id: container anchors.centerIn: parent width: 1080 - height: 1488 - scale: screenInfo.scale_factor() + height: 1920 +// scale: screenInfo.scale_factor() Image { - anchors.centerIn: parent - source: './images/AGL_HMI_Blue_Background_Car-01.png' + id: topshortcutArea + x: 197 + y: 0 + width: 588 + height: 215 + source: './images/top_three_shortcut_background.png' + TopShortcutArea { + anchors.fill: parent + } } - GridView { - id: grid - anchors { - topMargin: 60; bottomMargin: 0 - leftMargin: 60; rightMargin: 60 - fill: parent + Image { + id: meterDisplay + x: 0 + y: 1704 + width: 270 + height: 215 + source: './images/meterdisplay.png' + } + Image { + id: hud + anchors.left: meterDisplay.right + anchors.top: meterDisplay.top + width: 270 + height: 215 + source: './images/hud.png' + } + Image { + id: rse + anchors.left: hud.right + anchors.top: hud.top + width: 270 + height: 215 + source: './images/rse.png' + } + Image { + id: uninstall + anchors.left: rse.right + anchors.top: rse.top + width: 270 + height: 215 + source: './images/uninstall.png' } - contentHeight: 320 - flickableDirection: Flickable.AutoFlickDirection - snapMode: GridView.SnapOneRow - visible: true - cellWidth: 320 - cellHeight: 320 - interactive: false - model: ApplicationModel { id: applicationModel } - delegate: IconItem { - width: grid.cellWidth - height: grid.cellHeight + Image { + anchors.fill: parent + source: './images/background.png' } - Connections { - target: homescreenHandler - onAppListUpdate: { - console.warn("applist update in Launcher.qml") - applicationModel.updateApplist(info); + GridView { + id: grid + anchors { + topMargin: 60 + 218; bottomMargin: 0 + leftMargin: 60; rightMargin: 60 + fill: parent } - } - Connections { - target: homescreenHandler - onInitAppList: { - console.warn("applist init in Launcher.qml") - applicationModel.initAppList(data); + contentHeight: 320 + flickableDirection: Flickable.AutoFlickDirection + snapMode: GridView.SnapOneRow + visible: true + cellWidth: 320 + cellHeight: 320 + interactive: false + + model: ApplicationModel { id: applicationModel } + delegate: IconItem { + width: grid.cellWidth + height: grid.cellHeight } - } - MouseArea { - id: loc - anchors.fill: parent - property string currentId: '' - property int newIndex: -1 - property int index: grid.indexAt(loc.mouseX, loc.mouseY) - x: 62 - y: 264 - onPressAndHold: currentId = applicationModel.id(newIndex = index) - onReleased: { - if(loc.index < 0) { - return + Connections { + target: homescreenHandler + onAppListUpdate: { + console.warn("applist update in Launcher.qml") + applicationModel.updateApplist(info); } - if (currentId === '') { - homescreenHandler.tapShortcut(applicationModel.appid(loc.index)) - } else { - currentId = '' + } + Connections { + target: homescreenHandler + onInitAppList: { + console.warn("applist init in Launcher.qml") + applicationModel.initAppList(data); } } - onPositionChanged: { - if (loc.currentId === '') return - if (index < 0) return - if (index === newIndex) return - applicationModel.move(newIndex, newIndex = index) + + MouseArea { + id: loc + anchors.fill: parent + property string currentId: '' + property string currentName: '' + property int oldIndex: -1 + property int newIndex: -1 + property int index: grid.indexAt(loc.mouseX, loc.mouseY) + x: 62 + y: 264 + + onPressAndHold: { + oldIndex = index + currentId = applicationModel.id(newIndex = index) + currentName = applicationModel.name(loc.index) + homescreenHandler.hideWindow("homescreen") + } + onReleased: { + if (currentId === '' && loc.index >= 0 ) { + // Not long press, exec application and tapshortcut + pid = launcher.launch(applicationModel.id(loc.index)) + if (1 < pid) { + homescreenHandler.tapShortcut(applicationModel.appid(loc.index)) + } + else { + console.warn("app cannot be launched!") + } + } else if (loc.mouseY <= 0) { + if (loc.mouseX >= 197 && loc.mouseX < 393) { +// shortcutAppModel.changeShortcut(currentId, currentName, "0"); + homescreenHandler.registerShortcut(currentId, currentName, "0"); + } else if (loc.mouseX >= 393 && loc.mouseX < 589) { +// shortcutAppModel.changeShortcut(currentId, currentName, "1"); + homescreenHandler.registerShortcut(currentId, currentName, "1"); + } else if (loc.mouseX >= 589 && loc.mouseX < 785) { +// shortcutAppModel.changeShortcut(currentId, currentName, "2"); + homescreenHandler.registerShortcut(currentId, currentName, "2"); + } + if (oldIndex != newIndex){ + applicationModel.move(newIndex, newIndex = oldIndex) + } + } else if (loc.mouseY >= 1488) { + if (loc.mouseX < 270 ) { + console.log("sendAppToMeter", currentId) + homescreenHandler.sendAppToMeter(currentId) + } else if (loc.mouseX >= 270 && loc.mouseX < 540 ) { + + } else if (loc.mouseX >= 540 && loc.mouseX < 810 ) { + + } else if (loc.mouseX >= 810) { + uninstallDialog.contents = 'Do you want to uninstall ' + currentName.toUpperCase() + '?' + uninstallDialog.uninstallApp = currentId + uninstallDialog.visible = true + } + } + + currentName = '' + currentId = '' + homescreenHandler.tapShortcut("homescreen") + } + onPositionChanged: { + if (loc.currentId === '') return + if (index < 0) return + if (index === newIndex) return + applicationModel.move(newIndex, newIndex = index) + } } } + UninstallDialog { + id: uninstallDialog + anchors.fill: parent + visible: false + } } } -}