+
+ 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)
+ }