diff --git a/DevicesSettingsPage.qml b/DevicesSettingsPage.qml index 29b22ab..7234099 100644 --- a/DevicesSettingsPage.qml +++ b/DevicesSettingsPage.qml @@ -70,13 +70,13 @@ ColumnLayout { SpinBox { enabled: false Layout.fillWidth: true - value: listView.currentData.id + value: listView.currentData ? listView.currentData.id : -1 onValueModified: listView.currentData.id = value } Label { text: qsTr("Name:") } TextField { Layout.fillWidth: true - text: listView.currentData.name + text: listView.currentData ? listView.currentData.name : '' onTextEdited: listView.currentData.name = text } Label { text: qsTr("DeviceType:") } @@ -92,12 +92,12 @@ ColumnLayout { Label { text: qsTr("Address:") } SpinBox { Layout.fillWidth: true - value: listView.currentData.address + value: listView.currentData ? listView.currentData.address : -1 onValueModified: listView.currentData.address = value } Label { text: qsTr("Position:") } Vector3DField { - id: test + id: positionField Layout.fillWidth: true onValueModified: listView.currentData.position = value; // TODO solve without onCurrentDataChanged diff --git a/RegistersSettingsItem.qml b/RegistersSettingsItem.qml index e7f413d..4b58620 100644 --- a/RegistersSettingsItem.qml +++ b/RegistersSettingsItem.qml @@ -31,7 +31,7 @@ Pane { model: deviceTypeRegistersModel - onAddClicked: (index) => deviceTypeRegistersModel.insertRow(index < 0 ? 0 : index + 1); + onAddClicked: (index) => { const newIndex = index < 0 ? 0 : index + 1; if (deviceTypeRegistersModel.insertRow(newIndex)) currentIndex = newIndex; else console.warn('failed'); } onRemoveClicked: (index) => deviceTypeRegistersModel.removeRow(index) } }