First commit
There was history before but now there is no more.
This commit is contained in:
commit
8d57bfb1ae
35 changed files with 2231 additions and 0 deletions
59
Fields/Enum.qml
Normal file
59
Fields/Enum.qml
Normal file
|
@ -0,0 +1,59 @@
|
|||
// SPDX-License-Identifier: Unlicense
|
||||
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.13
|
||||
|
||||
import '../util.js' as Util
|
||||
|
||||
Column {
|
||||
id: control
|
||||
|
||||
property var definition
|
||||
property int index: -1
|
||||
readonly property string value: index >= 0 ? definition.values.get(index).name : ''
|
||||
|
||||
function set(val) {
|
||||
for (var i = 0; i < definition.values.count; i++) {
|
||||
if (definition.values.get(i).name === val) {
|
||||
index = i
|
||||
return true
|
||||
}
|
||||
}
|
||||
index = -1
|
||||
}
|
||||
|
||||
Keys.onPressed: {
|
||||
for (var i = 0; i < definition.values.count; i++) {
|
||||
if (definition.values.get(i).key === event.text) {
|
||||
index = (index === i ? -1 : i)
|
||||
event.accepted = true
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Flow {
|
||||
spacing: 5
|
||||
width: parent.width
|
||||
|
||||
ButtonGroup { id: buttons }
|
||||
|
||||
Repeater {
|
||||
model: definition.values
|
||||
delegate: Button {
|
||||
ButtonGroup.group: buttons
|
||||
checkable: true
|
||||
checked: control.index === index
|
||||
focusPolicy: Qt.NoFocus
|
||||
|
||||
implicitWidth: implicitContentWidth + leftPadding + rightPadding
|
||||
padding: 0
|
||||
leftPadding: 5
|
||||
rightPadding: leftPadding
|
||||
|
||||
onClicked: control.index = (control.index === index ? -1 : index)
|
||||
text: Util.addShortcut(name, key)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue