diff --git a/app/gui/AppView.qml b/app/gui/AppView.qml index 8cd413b7..d665ae71 100644 --- a/app/gui/AppView.qml +++ b/app/gui/AppView.qml @@ -16,8 +16,7 @@ GridView { anchors.topMargin: 20 anchors.rightMargin: 5 anchors.bottomMargin: 5 - cellWidth: 225; cellHeight: 350; - focus: true + cellWidth: 225; cellHeight: 385; // Cache delegates for 1000px in both directions to improve // scrolling and resizing performance @@ -52,12 +51,13 @@ GridView { model: appModel - delegate: Item { - width: 200; height: 300; + delegate: ItemDelegate { + width: 200; height: 335; Image { id: appIcon anchors.horizontalCenter: parent.horizontalCenter; + y: 20 source: model.boxart sourceSize { width: 150 @@ -132,18 +132,17 @@ GridView { } } + onClicked: { + // Nothing is running or this app is running + launchOrResumeSelectedApp() + } + MouseArea { anchors.fill: parent - acceptedButtons: Qt.LeftButton | Qt.RightButton + acceptedButtons: Qt.RightButton onClicked: { - if (mouse.button === Qt.LeftButton) { - // Nothing is running or this app is running - launchOrResumeSelectedApp() - } - else { - // Right click - appContextMenu.open() - } + // Right click + appContextMenu.open() } } diff --git a/app/gui/PcView.qml b/app/gui/PcView.qml index 5092e93a..9c816457 100644 --- a/app/gui/PcView.qml +++ b/app/gui/PcView.qml @@ -19,7 +19,6 @@ GridView { anchors.rightMargin: 5 anchors.bottomMargin: 5 cellWidth: 350; cellHeight: 350; - focus: true objectName: "Computers" // The StackView will trigger a visibility change when @@ -73,7 +72,7 @@ GridView { model: computerModel - delegate: Item { + delegate: ItemDelegate { width: 300; height: 300; Image { @@ -142,47 +141,46 @@ GridView { } } + onClicked: { + if (model.addPc) { + addPcDialog.open() + } + else if (model.online) { + if (model.paired) { + // go to game view + var component = Qt.createComponent("AppView.qml") + var appView = component.createObject(stackView, {"computerIndex": index, "objectName": model.name}) + stackView.push(appView) + } + else { + if (!model.busy) { + var pin = ("0000" + Math.floor(Math.random() * 10000)).slice(-4) + + // Kick off pairing in the background + computerModel.pairComputer(index, pin) + + // Display the pairing dialog + pairDialog.pin = pin + pairDialog.open() + } + else { + // cannot pair while something is streaming or attempting to pair + errorDialog.text = "This PC is currently busy. Make sure to quit any running games and try again." + errorDialog.open() + } + } + } else if (!model.online) { + pcContextMenu.open() + } + } + MouseArea { anchors.fill: parent - acceptedButtons: Qt.LeftButton | Qt.RightButton; + acceptedButtons: Qt.RightButton; onClicked: { - if(mouse.button === Qt.LeftButton) { - if (model.addPc) { - addPcDialog.open() - } - else if (model.online) { - if (model.paired) { - // go to game view - var component = Qt.createComponent("AppView.qml") - var appView = component.createObject(stackView, {"computerIndex": index, "objectName": model.name}) - stackView.push(appView) - } - else { - if (!model.busy) { - var pin = ("0000" + Math.floor(Math.random() * 10000)).slice(-4) - - // Kick off pairing in the background - computerModel.pairComputer(index, pin) - - // Display the pairing dialog - pairDialog.pin = pin - pairDialog.open() - } - else { - // cannot pair while something is streaming or attempting to pair - errorDialog.text = "This PC is currently busy. Make sure to quit any running games and try again." - errorDialog.open() - } - } - } else if(!model.online) { - pcContextMenu.open() - } - - } - else { // right click - if(!model.addPc) { // but only for actual PCs, not the add-pc option - pcContextMenu.open() - } + // right click + if (!model.addPc) { // but only for actual PCs, not the add-pc option + pcContextMenu.open() } } }