diff --git a/components/datapoints/DataPoint.qml b/components/datapoints/DataPoint.qml index 5dbc13a12..3aa7e6f0c 100644 --- a/components/datapoints/DataPoint.qml +++ b/components/datapoints/DataPoint.qml @@ -27,6 +27,7 @@ QtObject { property bool hasMax property var min: hasMin && sourceObject ? sourceObject.min : undefined property var max: hasMax && sourceObject ? sourceObject.max : undefined + property var invalidate: sourceObject !== undefined ? sourceObject.invalidate : undefined property var _dbusImpl property var _mqttImpl diff --git a/components/datapoints/DataPointMockImpl.qml b/components/datapoints/DataPointMockImpl.qml index 7c5d9a355..254ef84dd 100644 --- a/components/datapoints/DataPointMockImpl.qml +++ b/components/datapoints/DataPointMockImpl.qml @@ -12,6 +12,7 @@ QtObject { property var value: Global.mockDataSimulator ? Global.mockDataSimulator.mockDataValues[source] : undefined property real min: 0 property real max: 100 + property bool invalidate: true function setValue(v) { value = v diff --git a/components/listitems/ListTextField.qml b/components/listitems/ListTextField.qml index 100df0e0e..ee9cf9250 100644 --- a/components/listitems/ListTextField.qml +++ b/components/listitems/ListTextField.qml @@ -12,6 +12,7 @@ ListItem { property alias dataSource: dataPoint.source readonly property alias dataValue: dataPoint.value readonly property alias dataValid: dataPoint.valid + property alias invalidate: dataPoint.invalidate function setDataValue(v) { dataPoint.setValue(v) } property alias textField: textField diff --git a/components/listitems/ListTextItem.qml b/components/listitems/ListTextItem.qml index 66fa11fcb..c608ebc4b 100644 --- a/components/listitems/ListTextItem.qml +++ b/components/listitems/ListTextItem.qml @@ -11,6 +11,7 @@ ListItem { property alias dataSource: dataPoint.source readonly property alias dataValue: dataPoint.value readonly property alias dataValid: dataPoint.valid + property alias invalidate: dataPoint.invalidate function setDataValue(v) { dataPoint.setValue(v) } property alias secondaryText: secondaryLabel.text diff --git a/pages/settings/PageDeviceInfo.qml b/pages/settings/PageDeviceInfo.qml index c13943d42..e9bebe2be 100644 --- a/pages/settings/PageDeviceInfo.qml +++ b/pages/settings/PageDeviceInfo.qml @@ -17,6 +17,7 @@ Page { //% "Connection" text: qsTrId("settings_deviceinfo_connection") dataSource: root.bindPrefix + "/Mgmt/Connection" + invalidate: false secondaryLabel.rightPadding: connectedIcon.visible ? connectedIcon.width + Theme.geometry.listItem.content.spacing : 0 CP.ColorImage { @@ -43,12 +44,14 @@ Page { //% "Product" text: qsTrId("settings_deviceinfo_product") dataSource: root.bindPrefix + "/ProductName" + invalidate: false } ListTextField { //% "Name" text: qsTrId("settings_deviceinfo_name") dataSource: root.bindPrefix + "/CustomName" + invalidate: false textField.maximumLength: 32 //% "Custom name" placeholderText: qsTrId("settings_deviceinfo_custom_name") @@ -58,18 +61,21 @@ Page { //% "Product ID" text: qsTrId("settings_deviceinfo_product_id") dataSource: root.bindPrefix + "/ProductId" + invalidate: false } ListTextItem { //% "Firmware version" text: qsTrId("settings_deviceinfo_firmware_version") dataSource: root.bindPrefix + "/FirmwareVersion" + invalidate: false } ListTextItem { //% "Hardware version" text: qsTrId("settings_deviceinfo_hardware_version") dataSource: root.bindPrefix + "/HardwareVersion" + invalidate: false visible: dataValid } @@ -77,12 +83,14 @@ Page { //% "VRM instance" text: qsTrId("settings_deviceinfo_vrm_instance") dataSource: root.bindPrefix + "/DeviceInstance" + invalidate: false } ListTextItem { //% "Serial number" text: qsTrId("settings_deviceinfo_serial") dataSource: root.bindPrefix + "/Serial" + invalidate: false visible: dataValid } @@ -90,6 +98,7 @@ Page { //% "Device name" text: qsTrId("settings_deviceinfo_device_name") dataSource: root.bindPrefix + "/DeviceName" + invalidate: false visible: dataValid } }