diff --git a/DeviceTypesSettingsPage.qml b/DeviceTypesSettingsPage.qml index 65c3341..9f2211a 100644 --- a/DeviceTypesSettingsPage.qml +++ b/DeviceTypesSettingsPage.qml @@ -92,7 +92,12 @@ ColumnLayout { text: qsTr('Type:') } ComboBox { + id: comboBox + model: deviceTypeRegisterTypesModel + textRole: "text" + valueRole: "value" + currentIndex: deviceTypesRegistersListView.currentData ? comboBox.indexOfValue(deviceTypesRegistersListView.currentData.registerType) : -1 } } diff --git a/DevicesSettingsPage.qml b/DevicesSettingsPage.qml index 6284884..5607f6b 100644 --- a/DevicesSettingsPage.qml +++ b/DevicesSettingsPage.qml @@ -55,7 +55,7 @@ ColumnLayout { model: deviceTypesModel textRole: "name" valueRole: "id" - currentIndex: deviceTypeCombobox.indexOfValue(listView.currentData.deviceTypeId) + currentIndex: listView.currentData ? deviceTypeCombobox.indexOfValue(listView.currentData.deviceTypeId) : -1 onCurrentValueChanged: if (listView.currentData) listView.currentData.deviceTypeId = currentValue; else console.warn('discarded'); } Label { text: qsTr("Address:") } diff --git a/LightControlWindow.qml b/LightControlWindow.qml index 70b8dbd..02ca722 100644 --- a/LightControlWindow.qml +++ b/LightControlWindow.qml @@ -25,6 +25,17 @@ ApplicationWindow { controller: __controller } + ListModel { + id: deviceTypeRegisterTypesModel + ListElement { text: qsTr('Dimmer'); value: DeviceTypeRegisterType.Dimmer } + ListElement { text: qsTr('Red'); value: DeviceTypeRegisterType.Red } + ListElement { text: qsTr('Green'); value: DeviceTypeRegisterType.Green } + ListElement { text: qsTr('Blue'); value: DeviceTypeRegisterType.Blue } + ListElement { text: qsTr('White'); value: DeviceTypeRegisterType.White } + ListElement { text: qsTr('Strobo'); value: DeviceTypeRegisterType.Strobo } + ListElement { text: qsTr('Shutter'); value: DeviceTypeRegisterType.Shutter } + } + ColumnLayout { anchors.fill: parent diff --git a/main.cpp b/main.cpp index 214e0c8..5461e6c 100644 --- a/main.cpp +++ b/main.cpp @@ -47,7 +47,6 @@ int main(int argc, char *argv[]) QQmlApplicationEngine engine; - engine.rootContext()->setContextProperty("__controller", &controller); engine.rootContext()->setContextProperty("__windowed", windowed);