diff options
| author | Timotej Lazar <timotej.lazar@araneo.si> | 2021-09-01 17:13:51 +0200 |
|---|---|---|
| committer | Timotej Lazar <timotej.lazar@araneo.si> | 2021-09-16 20:33:05 +0200 |
| commit | cb76fedcbc8e419e2b945baa56ac3f986a9e79a3 (patch) | |
| tree | e29be52e4372d3d6e5bfe7056d7af1e1cc0ae2bc /Fields/Enum.qml | |
| parent | e9b70c585c6bf1fa68a594a8755d90c017e6260c (diff) | |
Implement event model in C++
Filtering events in JS is too slow with >20,000 events. This moves the
event data model into C++.
Diffstat (limited to 'Fields/Enum.qml')
| -rw-r--r-- | Fields/Enum.qml | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/Fields/Enum.qml b/Fields/Enum.qml index 30712b6..cb49b3b 100644 --- a/Fields/Enum.qml +++ b/Fields/Enum.qml @@ -8,13 +8,13 @@ import '../util.js' as Util Column { id: control - property var definition + property var model property int index: -1 - readonly property string value: index >= 0 ? definition.values.get(index).name : '' + readonly property string value: index >= 0 ? model.values[index].name : '' function set(val) { - for (var i = 0; i < definition.values.count; i++) { - if (definition.values.get(i).name === val) { + for (var i = 0; i < model.values.length; i++) { + if (model.values[i].name === val) { index = i return true } @@ -23,8 +23,8 @@ Column { } Keys.onPressed: { - for (var i = 0; i < definition.values.count; i++) { - if (definition.values.get(i).key === event.text) { + for (var i = 0; i < model.values.length; i++) { + if (model.values[i].key === event.text) { index = (index === i ? -1 : i) event.accepted = true break @@ -39,7 +39,7 @@ Column { ButtonGroup { id: buttons } Repeater { - model: definition.values + model: control.model.values delegate: Button { ButtonGroup.group: buttons checkable: true @@ -52,7 +52,7 @@ Column { rightPadding: leftPadding onClicked: control.index = (control.index === index ? -1 : index) - text: Util.addShortcut(name, key) + text: Util.addShortcut(modelData.name, modelData.key) } } } |
