Index: denali.pro.user =================================================================== diff -u -r1f2e7dbd08b00f8c56eedf29f083733570aa642e -r5e1966a8b22d556e9c0c08533f84c6894127b248 --- denali.pro.user (.../denali.pro.user) (revision 1f2e7dbd08b00f8c56eedf29f083733570aa642e) +++ denali.pro.user (.../denali.pro.user) (revision 5e1966a8b22d556e9c0c08533f84c6894127b248) @@ -1,6 +1,6 @@ - + EnvironmentId @@ -103,6 +103,7 @@ true + 0 0 /home/denali/Projects/application/imake.sh %{sourceDir} ProjectExplorer.ProcessStep @@ -460,45 +461,45 @@ /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + 192.168.137.210 + 192.168.10.159 192.168.10.228 192.168.10.228 192.168.10.138 - 192.168.137.210 - 192.168.10.159 + 192.168.137.25 + 192.168.137.30 192.168.10.186 192.168.10.167 192.168.137.170 - 192.168.137.30 - 192.168.137.25 - 192.168.10.186 192.168.137.3 - 192.168.137.26 - 192.168.137.170 192.168.40.23 192.168.137.24 - 192.168.137.202 - 192.168.137.36 + 192.168.137.26 + 192.168.137.170 + 192.168.10.186 192.168.137.125 + 192.168.137.36 + 192.168.137.202 192.168.137.247 @@ -524,6 +525,8 @@ /home/root + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots /opt/b2qt/3.1.18/sysroots/x86_64-pokysdk-linux /opt/b2qt/3.1.18/sysroots/x86_64-pokysdk-linux /opt/b2qt/3.1.18/sysroots @@ -542,51 +545,49 @@ /opt/b2qt/3.1.18/sysroots /opt/b2qt/3.1.18/sysroots /opt/b2qt/3.1.18/sysroots - /opt/b2qt/3.1.18/sysroots - /opt/b2qt/3.1.18/sysroots - 2023-01-17T18:18:03.749 - 2023-01-17T18:06:25.579 - 2023-02-02T09:06:00.862 2023-02-02T01:52:20.307 2023-01-24T18:19:13.179 + 2023-01-17T18:06:25.579 + 2023-01-17T18:18:03.749 + 2023-02-02T09:06:00.862 + 2023-02-02T02:13:54.596 + 2023-02-02T02:30:48.337 2023-01-18T17:47:08.797 2023-02-02T19:40:15.813 2023-01-27T10:15:15.423 - 2023-02-02T02:30:48.337 - 2023-02-02T02:13:54.596 - 2023-01-18T20:13:36.296 2023-02-02T02:40:56.627 - 2023-02-01T05:00:56.449 - 2023-01-27T09:45:11.898 2023-01-24T17:29:54.849 2023-02-02T02:05:29.947 - 2023-02-02T01:46:50.167 - 2023-02-01T03:23:15.710 + 2023-02-01T05:00:56.449 + 2023-01-27T09:45:11.898 + 2023-01-18T20:13:36.296 2023-02-02T02:07:25.922 + 2023-02-01T03:23:15.710 + 2023-02-02T01:46:50.167 2023-02-02T02:26:33.738 - 2023-01-17T18:17:25.000 - 2023-01-17T18:05:42.000 - 2023-02-02T09:05:22.000 2023-02-02T01:52:16.000 2023-01-24T18:18:58.000 + 2023-01-17T18:05:42.000 + 2023-01-17T18:17:25.000 + 2023-02-02T09:05:22.000 + 2023-02-02T02:14:08.000 + 2023-02-02T02:31:01.000 2023-01-18T17:47:04.000 2023-02-02T19:39:36.000 2023-01-27T10:15:08.000 - 2023-02-02T02:31:01.000 - 2023-02-02T02:14:08.000 - 2023-01-18T20:13:33.000 2023-02-02T02:41:10.000 - 2023-02-01T05:00:51.000 - 2023-01-27T09:44:58.000 2023-01-24T17:30:03.000 2023-02-02T02:05:42.000 - 2023-02-02T01:47:02.000 - 2023-02-01T03:23:28.000 + 2023-02-01T05:00:51.000 + 2023-01-27T09:44:58.000 + 2023-01-18T20:13:33.000 2023-02-02T02:07:21.000 + 2023-02-01T03:23:28.000 + 2023-02-02T01:47:02.000 2023-02-02T02:26:46.000 Index: denali.qrc =================================================================== diff -u -r559dc64d12cf7647ec8c29ccbf4ca90f90e5e3a2 -r5e1966a8b22d556e9c0c08533f84c6894127b248 --- denali.qrc (.../denali.qrc) (revision 559dc64d12cf7647ec8c29ccbf4ca90f90e5e3a2) +++ denali.qrc (.../denali.qrc) (revision 5e1966a8b22d556e9c0c08533f84c6894127b248) @@ -12,7 +12,8 @@ sources/gui/qml/pages/settings/SettingsHome.qml sources/gui/qml/pages/settings/SettingsDateTime.qml sources/gui/qml/pages/settings/SettingsWiFi.qml - sources/gui/qml/pages/settings/SettingsDG.qml + sources/gui/qml/pages/settings/SettingsDGCleaning.qml + sources/gui/qml/pages/settings/SettingsDGScheduling.qml sources/gui/qml/pages/settings/SettingsVolumeBrightness.qml sources/gui/qml/pages/settings/SettingsBluetoothCuff.qml sources/gui/qml/pages/settings/SettingsExportLogs.qml Fisheye: Tag 5e1966a8b22d556e9c0c08533f84c6894127b248 refers to a dead (removed) revision in file `sources/gui/qml/pages/settings/SettingsDG.qml'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/gui/qml/pages/settings/SettingsDGCleaning.qml =================================================================== diff -u --- sources/gui/qml/pages/settings/SettingsDGCleaning.qml (revision 0) +++ sources/gui/qml/pages/settings/SettingsDGCleaning.qml (revision 5e1966a8b22d556e9c0c08533f84c6894127b248) @@ -0,0 +1,155 @@ +/*! + * + * Copyright (c) 2021-2023 Diality Inc. - All Rights Reserved. + * \copyright + * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN + * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. + * + * \file SettingsDGCleaning.qml + * \author (last) Behrouz NematiPour + * \date (last) 23-Nov-2022 + * \author (original) Behrouz NematiPour + * \date (original) 20-May-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +import Gui.Actions 0.1; + +// Qml imports +import "qrc:/globals" +import "qrc:/components" + +/*! + * \brief SettingsDG provides user options to manually initiate the + * - Water Flush + * - Heat Disinfection + * - Chemical Disinfection \n + * or schedule the + * - Water Flush + * - Heat Disinfection \n + * on daily cycle at certain time of the day + */ +SettingsBase { id: _root + readonly property bool enableScheduling: false // TODO : phase 1 doesn't have this feature (disinfection schedule) + + QtObject { id: _settingsDG + property string status: "" + function doConfirm(vWaterFlushScheduleTimeHour , + vWaterFlushScheduleTimeMinute , + vWaterFlushScheduleCycle , + vHeatDisinfectionScheduleTimeHour , + vHeatDisinfectionScheduleTimeMinute , + vHeatDisinfectionScheduleCycle ) { + console.debug(vWaterFlushScheduleTimeHour , ":" , + vWaterFlushScheduleTimeMinute , " - ", + vWaterFlushScheduleCycle , " | ", + vHeatDisinfectionScheduleTimeHour , ":" , + vHeatDisinfectionScheduleTimeMinute , " - ", + vHeatDisinfectionScheduleCycle ) + } + } + + labelWidth : 200 + entryWidth : 100 + + property int titleIndent : 25 + + readonly property bool isValid : + _waterFlushScheduleTime .isValid && + _waterFlushScheduleCycle .isValid && + _heatDisinfectionScheduleTime .isValid && + _heatDisinfectionScheduleCycle .isValid + + confirmVisible : false // phase 1 // true + confirmEnabled : _root.enableScheduling + firstFocusInput : _waterFlushScheduleTime + notificationText: _settingsDG.status + onConfirmClicked: { + _settingsDG.doConfirm( + _waterFlushScheduleTime .hour , + _waterFlushScheduleTime .minute , + _waterFlushScheduleCycle .text , + _heatDisinfectionScheduleTime .hour , + _heatDisinfectionScheduleTime .minute , + _heatDisinfectionScheduleCycle .text ) + } + + onVisibleChanged: { + if ( ! visible ) _root.notificationText = "" + } + + Row { id: _container + visible: false // phase 1 // true + spacing: 25 + y : Qt.inputMethod.visible && _keyboard.visible ? topMarginContent : ( (_root.height - _container.height) / 2 ) + Behavior on y { NumberAnimation { duration: Variables.keybardAnimationDuration } } + anchors.horizontalCenter: parent.horizontalCenter + + Column { + spacing : 25 + leftPadding : titleIndent + Label { + leftPadding : -titleIndent + text : qsTr("Water Flush") + } + Line { x : -titleIndent; width : 500 } + TimeEntry { id : _waterFlushScheduleTime + hour : "02" // TODO: Settings Manufacturing + minute : "00" // TODO: Settings Manufacturing + labelWidth : _root.labelWidth + nextInput : _waterFlushScheduleCycle + } + TextEntry { id : _waterFlushScheduleCycle + nextInput : _heatDisinfectionScheduleTime.firstInput + text : "1" // TODO: Settings Manufacturing + label.text : qsTr("Cycle (Days)") + label.width : _root.labelWidth + validator : IntValidator { bottom: 0; top : 7 } // TODO: Settings Manufacturing + } + } + + Column { + spacing : 25 + leftPadding : titleIndent + Label { + leftPadding : -titleIndent + text : qsTr("Heat Disinfection") + } + Line { x : -titleIndent; width : 500 } + TimeEntry { id : _heatDisinfectionScheduleTime + hour : "02" // TODO: Settings Manufacturing + minute : "00" // TODO: Settings Manufacturing + labelWidth : _root.labelWidth + nextInput : _heatDisinfectionScheduleCycle + } + TextEntry { id : _heatDisinfectionScheduleCycle + text : "21" // TODO: Settings Manufacturing + label.text : qsTr("Cycle (Days)") + label.width : _root.labelWidth + validator : IntValidator { bottom: 0; top : 60 } // TODO: Settings Manufacturing + } + } + } + + Footer { + anchors.bottomMargin: Variables.mainMenuHeight + Variables.notificationHeight + Variables.minVGap + childrenWidth: parent.width / 3 + children: [ + TouchRect { text.text: qsTr("DG Cleaning") + onClicked: { vDisinfectAdjustDisinfect .doDisinfectInitiate () } + } + ] + } + + // ----- Responses + Connections { target: vDisinfectAdjustDisinfect + function onAdjustment_DisinfectModeTriggered ( vValue ) { + if ( vDisinfectAdjustDisinfect.adjustment_Accepted ){ _root.notificationText = "" } + else { _root.notificationText = vDisinfectAdjustDisinfect.text() } + } + } +} Index: sources/gui/qml/pages/settings/SettingsDGScheduling.qml =================================================================== diff -u --- sources/gui/qml/pages/settings/SettingsDGScheduling.qml (revision 0) +++ sources/gui/qml/pages/settings/SettingsDGScheduling.qml (revision 5e1966a8b22d556e9c0c08533f84c6894127b248) @@ -0,0 +1,132 @@ +/*! + * + * Copyright (c) 2021-2023 Diality Inc. - All Rights Reserved. + * \copyright + * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN + * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. + * + * \file SettingsDGScheduling.qml + * \author (last) Behrouz NematiPour + * \date (last) 26-May-2023 + * \author (original) Behrouz NematiPour + * \date (original) 26-May-2023 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +import Gui.Actions 0.1; + +// Qml imports +import "qrc:/globals" +import "qrc:/components" + +/*! + * \brief SettingsDG provides user options to manually initiate the + * - Water Flush + * - Heat Disinfection + * - Chemical Disinfection \n + * or schedule the + * - Water Flush + * - Heat Disinfection \n + * on daily cycle at certain time of the day + */ +SettingsBase { id: _root + QtObject { id: _settingsDG + property string status: "" + function doConfirm(vWaterFlushScheduleTimeHour , + vWaterFlushScheduleTimeMinute , + vWaterFlushScheduleCycle , + vHeatDisinfectionScheduleTimeHour , + vHeatDisinfectionScheduleTimeMinute , + vHeatDisinfectionScheduleCycle ) { + console.debug(vWaterFlushScheduleTimeHour , ":" , + vWaterFlushScheduleTimeMinute , " - ", + vWaterFlushScheduleCycle , " | ", + vHeatDisinfectionScheduleTimeHour , ":" , + vHeatDisinfectionScheduleTimeMinute , " - ", + vHeatDisinfectionScheduleCycle ) + } + } + + labelWidth : 200 + entryWidth : 100 + + property int titleIndent : 25 + + readonly property bool isValid : + _waterFlushScheduleTime .isValid && + _waterFlushScheduleCycle .isValid && + _heatDisinfectionScheduleTime .isValid && + _heatDisinfectionScheduleCycle .isValid + + firstFocusInput : _waterFlushScheduleTime + notificationText: _settingsDG.status + onConfirmClicked: { + _settingsDG.doConfirm( + _waterFlushScheduleTime .hour , + _waterFlushScheduleTime .minute , + _waterFlushScheduleCycle .text , + _heatDisinfectionScheduleTime .hour , + _heatDisinfectionScheduleTime .minute , + _heatDisinfectionScheduleCycle .text ) + } + + onVisibleChanged: { + if ( ! visible ) _root.notificationText = "" + } + + Row { id: _container + spacing: 25 + y : Qt.inputMethod.visible && _keyboard.visible ? topMarginContent : ( (_root.height - _container.height) / 2 ) + Behavior on y { NumberAnimation { duration: Variables.keybardAnimationDuration } } + anchors.horizontalCenter: parent.horizontalCenter + + Column { + spacing : 25 + leftPadding : titleIndent + Label { + leftPadding : -titleIndent + text : qsTr("Water Flush") + } + Line { x : -titleIndent; width : 500 } + TimeEntry { id : _waterFlushScheduleTime + hour : "02" // TODO: Settings Manufacturing + minute : "00" // TODO: Settings Manufacturing + labelWidth : _root.labelWidth + nextInput : _waterFlushScheduleCycle + } + TextEntry { id : _waterFlushScheduleCycle + nextInput : _heatDisinfectionScheduleTime.firstInput + text : "1" // TODO: Settings Manufacturing + label.text : qsTr("Cycle (Days)") + label.width : _root.labelWidth + validator : IntValidator { bottom: 0; top : 7 } // TODO: Settings Manufacturing + } + } + + Column { + spacing : 25 + leftPadding : titleIndent + Label { + leftPadding : -titleIndent + text : qsTr("Heat Disinfection") + } + Line { x : -titleIndent; width : 500 } + TimeEntry { id : _heatDisinfectionScheduleTime + hour : "02" // TODO: Settings Manufacturing + minute : "00" // TODO: Settings Manufacturing + labelWidth : _root.labelWidth + nextInput : _heatDisinfectionScheduleCycle + } + TextEntry { id : _heatDisinfectionScheduleCycle + text : "21" // TODO: Settings Manufacturing + label.text : qsTr("Cycle (Days)") + label.width : _root.labelWidth + validator : IntValidator { bottom: 0; top : 60 } // TODO: Settings Manufacturing + } + } + } +} Index: sources/gui/qml/pages/settings/SettingsHome.qml =================================================================== diff -u -rc9f8f8cf3c6c37fc6460d8675c62c9442c4d4263 -r5e1966a8b22d556e9c0c08533f84c6894127b248 --- sources/gui/qml/pages/settings/SettingsHome.qml (.../SettingsHome.qml) (revision c9f8f8cf3c6c37fc6460d8675c62c9442c4d4263) +++ sources/gui/qml/pages/settings/SettingsHome.qml (.../SettingsHome.qml) (revision 5e1966a8b22d556e9c0c08533f84c6894127b248) @@ -32,7 +32,7 @@ property alias itemsEnabled : _settingItems.itemsEnabled property alias itemsVisible : _settingItems.itemsVisible - readonly property int rowCount : 5 + readonly property int rowCount : 6 readonly property int colCount : itemsText.length > rowCount ? Math.ceil(itemsText.length / rowCount) : 1 signal itemClicked(int vIndex) @@ -42,6 +42,7 @@ onItemClicked : _root.itemClicked(vIndex) rowCount : _root.rowCount colCount : _root.colCount + itemWidth : 300 } // Test Codes @@ -59,7 +60,7 @@ width : 300 height : Variables.logoDiameter text.text: qsTr("Clear Alarm Condition") - onClicked: _alarmItem.clearAlarm() + onClicked: _alarmItem.clearAlarm() } } Index: sources/gui/qml/pages/settings/SettingsStack.qml =================================================================== diff -u -r69b3aa965cd8187c66114a9753c162cc526d9678 -r5e1966a8b22d556e9c0c08533f84c6894127b248 --- sources/gui/qml/pages/settings/SettingsStack.qml (.../SettingsStack.qml) (revision 69b3aa965cd8187c66114a9753c162cc526d9678) +++ sources/gui/qml/pages/settings/SettingsStack.qml (.../SettingsStack.qml) (revision 5e1966a8b22d556e9c0c08533f84c6894127b248) @@ -45,64 +45,68 @@ VolumeBrightness , WiFi , Bluetooth , - DGSettings , - Services , - SetDateTime , ExportLogs , - RoInput , + SetDateTime , Language , + Services , + DGCleaning , + DGScheduling , + RoInput , Calibration , DeviceRegistration , SWUpdate , FactoryReset } property var itemsText : [ - qsTr("Information" ), // Information - qsTr("Volume And Brightness" ), // VolumeBrightness - qsTr("Wi-Fi" ), // WiFi - qsTr("Bluetooth Cuff" ), // Bluetooth - qsTr("DG Cleaning" ), // DGSettings - qsTr("Service" ), // Service - qsTr("Set Date And Time" ), // SetDateTime - qsTr("Export Logs" ), // ExportLogs - qsTr("Water Input Mode" ), // RoInput - qsTr("Set Language" ), // Language - qsTr("Calibration " ), // Calibration - qsTr("Device Registration" ), // DeviceRegistration - qsTr("Software Update" ), // SWUpdate - qsTr("Factory Reset" ), // FactoryReset + qsTr("Information" ), // Information + qsTr("Volume And Brightness" ), // VolumeBrightness + qsTr("Wi-Fi" ), // WiFi + qsTr("Bluetooth Cuff" ), // Bluetooth + qsTr("Export Logs" ), // ExportLogs + qsTr("Set Date And Time" ), // SetDateTime + qsTr("Set Language" ), // Language + qsTr("Service" ), // Service + qsTr("DG Cleaning" ), // DGCleaning + qsTr("DG Scheduling" ), // DGScheduling + qsTr("Water Input Mode" ), // RoInput + qsTr("Calibration " ), // Calibration + qsTr("Device Registration" ), // DeviceRegistration + qsTr("Software Update" ), // SWUpdate + qsTr("Factory Reset" ), // FactoryReset ] property var itemsEnabled : [ - true , // Information - true , // VolumeBrightness - true , // WiFi - true , // Bluetooth - true , // DGSettings - true , // Services - true , // SetDateTime - true , // ExportLogs - true , // RoInput - false , // Language - false , // Calibration - true , // DeviceRegistration - false , // SWUpdate - false , // FactoryReset + true , // Information + true , // VolumeBrightness + true , // WiFi + true , // Bluetooth + true , // ExportLogs + true , // SetDateTime + false , // Language + true , // Service + true , // DGCleaning + true , // DGScheduling + true , // RoInput + false , // Calibration + true , // DeviceRegistration + false , // SWUpdate + false , // FactoryReset ] property var itemsVisible : [ - true , // Information - true , // VolumeBrightness - true , // WiFi - true , // Bluetooth - true , // DGSettings - ! serviceMode , // Services - serviceMode , // SetDateTime - true , // ExportLogs - true , // RoInput - false /* serviceMode phase 1 */ , // Language - false /* serviceMode phase 1 */ , // Calibration - true /* serviceMode */ , // DeviceRegistration // FIXME: On the normal setting menu for now for development. - false /* serviceMode phase 1 */ , // SWUpdate - false /* serviceMode phase 1 */ , // FactoryReset + true , // Information + true , // VolumeBrightness + true , // WiFi + true , // Bluetooth + true , // ExportLogs + serviceMode , // SetDateTime + false /* serviceMode phase 1B */ , // Language + ! serviceMode , // Service + true , // DGCleaning + false /* serviceMode phase 1B */ , // DGScheduling + true , // RoInput + false /* serviceMode phase 1B */ , // Calibration + true , // DeviceRegistration // FIXME: On the normal setting menu for now for development. + false /* serviceMode phase 1B */ , // SWUpdate + false /* serviceMode phase 1B */ , // FactoryReset ] SettingsHome { id : _settingsHome @@ -135,10 +139,14 @@ push( _settingsBluetooth ) break - case SettingsStack.DGSettings: - push( _settingsDGSettings ) + case SettingsStack.DGCleaning: + push( _settingsDGCleaning ) break + case SettingsStack.DGScheduling: + push( _settingsDGScheduling ) + break + case SettingsStack.Services: push(_servicePassword) _servicePassword.setFocus() @@ -245,10 +253,14 @@ SettingsBluetoothCuff { id: _settingsBluetooth } - SettingsDG { id: _settingsDGSettings - itemIndex : SettingsStack.DGSettings + SettingsDGCleaning { id: _settingsDGCleaning + itemIndex : SettingsStack.DGCleaning } + SettingsDGScheduling { id: _settingsDGScheduling + itemIndex : SettingsStack.DGScheduling + } + SettingsExportLogs { id: _settingsExportLogs itemIndex : SettingsStack.ExportLogs }