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.
This commit is contained in:
David Turner 2023-10-17 14:56:11 +01:00
parent 7fdf3d033f
commit 73de734016

View file

@ -132,7 +132,7 @@ ApplicationWindow {
Layout.fillWidth: true Layout.fillWidth: true
onClicked: { onClicked: {
hwpopup.open() hwpopup.open()
hwlistview.currentItem.forceActiveFocus() hwlist.currentItem.forceActiveFocus()
} }
Accessible.ignored: ospopup.visible || dstpopup.visible || hwpopup.visible Accessible.ignored: ospopup.visible || dstpopup.visible || hwpopup.visible
Accessible.description: qsTr("Select this button to choose your target Raspberry Pi") Accessible.description: qsTr("Select this button to choose your target Raspberry Pi")
@ -478,42 +478,37 @@ ApplicationWindow {
Layout.preferredHeight: hwlist.height Layout.preferredHeight: hwlist.height
ListView { ListView {
id: hwlistview id: hwlist
interactive: false model: ListModel {
id: deviceModel
ListView { ListElement {
id: hwlist name: qsTr("[ All ]")
model: ListModel { tags: "[]"
id: deviceModel icon: ""
ListElement { description: ""
name: qsTr("[ All ]") matching_type: "exclusive"
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)
} }
} }
} }