From 73de734016a9c03dcc18354bf56c46be46e833dc Mon Sep 17 00:00:00 2001 From: David Turner Date: Tue, 17 Oct 2023 14:56:11 +0100 Subject: [PATCH] Fix focus change when opening HW select list Previously it was not possible to select a HW device without a mouse because the focus change to the HW list was not working. This is because an extra nested ListView had been left in. Remove the extra ListView and set the focus target correctly. --- src/main.qml | 65 ++++++++++++++++++++++++---------------------------- 1 file changed, 30 insertions(+), 35 deletions(-) diff --git a/src/main.qml b/src/main.qml index 49bbb82..d1b577f 100644 --- a/src/main.qml +++ b/src/main.qml @@ -132,7 +132,7 @@ ApplicationWindow { Layout.fillWidth: true onClicked: { hwpopup.open() - hwlistview.currentItem.forceActiveFocus() + hwlist.currentItem.forceActiveFocus() } Accessible.ignored: ospopup.visible || dstpopup.visible || hwpopup.visible Accessible.description: qsTr("Select this button to choose your target Raspberry Pi") @@ -478,42 +478,37 @@ ApplicationWindow { Layout.preferredHeight: hwlist.height ListView { - id: hwlistview - interactive: false - - ListView { - id: hwlist - model: ListModel { - id: deviceModel - ListElement { - name: qsTr("[ All ]") - tags: "[]" - icon: "" - description: "" - matching_type: "exclusive" - } + id: hwlist + model: ListModel { + id: deviceModel + ListElement { + name: qsTr("[ All ]") + tags: "[]" + icon: "" + description: "" + matching_type: "exclusive" } - currentIndex: -1 - delegate: hwdelegate - width: window.width-100 - height: window.height-100 - boundsBehavior: Flickable.StopAtBounds - highlight: Rectangle { color: "lightsteelblue"; radius: 5 } - ScrollBar.vertical: ScrollBar { - width: 10 - policy: hwlist.contentHeight > hwlist.height ? ScrollBar.AlwaysOn : ScrollBar.AsNeeded - } - Keys.onSpacePressed: { - if (currentIndex != -1) - selectHWitem(model.get(currentIndex)) - } - Accessible.onPressAction: { - if (currentIndex != -1) - selectHWitem(model.get(currentIndex)) - } - Keys.onEnterPressed: Keys.onSpacePressed(event) - Keys.onReturnPressed: Keys.onSpacePressed(event) } + currentIndex: -1 + delegate: hwdelegate + width: window.width-100 + height: window.height-100 + boundsBehavior: Flickable.StopAtBounds + highlight: Rectangle { color: "lightsteelblue"; radius: 5 } + ScrollBar.vertical: ScrollBar { + width: 10 + policy: hwlist.contentHeight > hwlist.height ? ScrollBar.AlwaysOn : ScrollBar.AsNeeded + } + Keys.onSpacePressed: { + if (currentIndex != -1) + selectHWitem(model.get(currentIndex)) + } + Accessible.onPressAction: { + if (currentIndex != -1) + selectHWitem(model.get(currentIndex)) + } + Keys.onEnterPressed: Keys.onSpacePressed(event) + Keys.onReturnPressed: Keys.onSpacePressed(event) } } }