// SPDX-License-Identifier: Unlicense import QtQuick 2.12 import QtQuick.Controls 2.13 import 'util.js' as Util // Tag list. Flow { id: control property alias model: buttons.model signal clicked(string tag) // Try passing key to each field input in order. Keys.enabled: enabled Keys.forwardTo: Array.from({ length: buttons.count }, (_, i) => buttons.itemAt(i)) spacing: 5 Repeater { id: buttons delegate: Button { text: Util.addShortcut(modelData.tag, modelData.key) focusPolicy: Qt.NoFocus implicitWidth: implicitContentWidth + 2*padding onClicked: control.clicked(modelData.tag) Keys.onPressed: { if (event.text === modelData.key) { clicked() event.accepted = true } } } } }