Index: leahi.qrc =================================================================== diff -u -r1286d74bd015276aab604808be2766136091c125 -r0bc5c7e5752e76707f92b9ef1ecfe54b0c5ead29 --- leahi.qrc (.../leahi.qrc) (revision 1286d74bd015276aab604808be2766136091c125) +++ leahi.qrc (.../leahi.qrc) (revision 0bc5c7e5752e76707f92b9ef1ecfe54b0c5ead29) @@ -122,6 +122,8 @@ resources/images/water_sample.png resources/images/ArrowDownDisabled.png resources/images/ArrowUpDisabled.png + resources/images/pause.png + resources/images/play.png sources/gui/qml/components/MainMenu.qml @@ -208,6 +210,7 @@ sources/gui/qml/compounds/ValueAdjusterCustom.qml sources/gui/qml/compounds/LabelUnitValueAdjuster.qml sources/gui/qml/compounds/SettingsSlider.qml + sources/gui/qml/compounds/AutoStepController.qml qtquickcontrols2.conf Index: sources/gui/qml/compounds/AutoStepController.qml =================================================================== diff -u --- sources/gui/qml/compounds/AutoStepController.qml (revision 0) +++ sources/gui/qml/compounds/AutoStepController.qml (revision 0bc5c7e5752e76707f92b9ef1ecfe54b0c5ead29) @@ -0,0 +1,26 @@ +// Qt +import QtQuick 2.12 + +// Qml imports +import "qrc:/globals" +import "qrc:/components" + +IconButton { id : _root + property int interval : 5000 + property bool isPlaying : false // initial state + + iconImageSource : _root.isPlaying ? "qrc:/images/iPause" : "qrc:/images/iPlay" + isDefault : true + + onClicked : _root.isPlaying = ! _root.isPlaying + + signal triggered() + + Timer { id: _stepTimer + interval : _root.interval + repeat : true + running : _root.isPlaying && _root.visible + + onTriggered : _root.triggered() + } +} Index: sources/gui/qml/compounds/InstructionView.qml =================================================================== diff -u -r1286d74bd015276aab604808be2766136091c125 -r0bc5c7e5752e76707f92b9ef1ecfe54b0c5ead29 --- sources/gui/qml/compounds/InstructionView.qml (.../InstructionView.qml) (revision 1286d74bd015276aab604808be2766136091c125) +++ sources/gui/qml/compounds/InstructionView.qml (.../InstructionView.qml) (revision 0bc5c7e5752e76707f92b9ef1ecfe54b0c5ead29) @@ -31,10 +31,22 @@ radius : Variables.alarmDialogRadius clip : true + onVisibleChanged: if (visible) { _autoStepControl.isPlaying = false } + + AutoStepController { id: _autoStepControl + anchors { + left : parent.left + leftMargin : Variables.defaultMargin * 3 + verticalCenter : _title.verticalCenter + } + + onTriggered : _root.currentIndex = (_root.currentIndex + 1) % _instrutionSteps.count + } + Text { id: _title anchors { - left : parent.left - leftMargin : Variables.defaultMargin * 3 // with current resolution this makes the screen look nice + left : _autoStepControl.right + leftMargin : Variables.defaultMargin * 2 // with current resolution this makes the screen look nice top : parent.top topMargin : Variables.defaultMargin * 2 // with current resolution this makes the screen look nice } @@ -47,7 +59,7 @@ Item { id: _instructionContainer anchors { right : _root.right - left : _title.left + left : _autoStepControl.left top : _title.bottom bottom : _root.bottom } @@ -60,34 +72,12 @@ } } -// Item { id: _infoItem -// anchors { -// left : parent.left -// top : parent.top -// topMargin : Variables.defaultMargin -// } -// height : 35 -// width : parent.width / 2 - -// NotificationBarSmall { id: _infoNotificationBar -// color : "transparent" -// imageSource : "qrc:/images/iHelp" -// imageVisible : true -// text : qsTr("TAP THE STEP NUMBER TO VIEW IMAGE") -// textColor : "#3682ED" -// imageDiameter : 25 -// imageTopMargin : 3 -// textfontWeight : Font.DemiBold -// height : _infoItem.height -// rowAnchors { -// centerIn: undefined -// left : parent.left -// } -// } -// } - Column { id: _contentColumn - anchors.top : _infoItem.bottom + anchors { + top : _infoItem.bottom + topMargin : Variables.defaultMargin + } + spacing : 5 width : parent.width / 2 @@ -146,7 +136,6 @@ Image { id: _image anchors.right : parent.right - anchors.left : _contentColumn.right source : _root.stepImages.length && _root.stepImages[_root.currentIndex] ? _root.stepImages[_root.currentIndex] : "" } } Index: sources/gui/qml/dialogs/NotificationDialog.qml =================================================================== diff -u -r9d19afe7963673863456c676ba79236234e9e9e0 -r0bc5c7e5752e76707f92b9ef1ecfe54b0c5ead29 --- sources/gui/qml/dialogs/NotificationDialog.qml (.../NotificationDialog.qml) (revision 9d19afe7963673863456c676ba79236234e9e9e0) +++ sources/gui/qml/dialogs/NotificationDialog.qml (.../NotificationDialog.qml) (revision 0bc5c7e5752e76707f92b9ef1ecfe54b0c5ead29) @@ -21,6 +21,7 @@ // Qml imports import "qrc:/globals" import "qrc:/components" +import "qrc:/compounds" /*! * \brief Contains the Alarm Dialog Implementation @@ -123,19 +124,29 @@ bottom : _timerRect.top } - HelpNotification { id: _infoItem + AutoStepController { id: _autoStepControl anchors { left : parent.left leftMargin : Variables.defaultMargin * 4 top : parent.top - topMargin : Variables.defaultMargin * 3 + topMargin : Variables.defaultMargin * 2 } + + onTriggered : _listView.currentIndex = (_listView.currentIndex + 1) % _listView.count } + HelpNotification { id: _infoItem + anchors { + left : _autoStepControl.right + leftMargin : Variables.defaultMargin * 2 + verticalCenter : _autoStepControl.verticalCenter + } + } + ListView {id: _listView anchors { top : _infoItem.bottom - topMargin : Variables.defaultMargin + topMargin : Variables.defaultMargin * 3 bottom : parent.bottom left : parent.left leftMargin : Variables.defaultMargin * 4 Index: sources/gui/qml/dialogs/diagnostics/DiagnosticsSwipe.qml =================================================================== diff -u -r1286d74bd015276aab604808be2766136091c125 -r0bc5c7e5752e76707f92b9ef1ecfe54b0c5ead29 --- sources/gui/qml/dialogs/diagnostics/DiagnosticsSwipe.qml (.../DiagnosticsSwipe.qml) (revision 1286d74bd015276aab604808be2766136091c125) +++ sources/gui/qml/dialogs/diagnostics/DiagnosticsSwipe.qml (.../DiagnosticsSwipe.qml) (revision 0bc5c7e5752e76707f92b9ef1ecfe54b0c5ead29) @@ -51,7 +51,7 @@ model : _model onItemPressed: function (vIndex) { - view.currentIndex = vIndex + _view.currentIndex = vIndex } ListModel { id: _model Index: sources/gui/qml/pages/pretreatment/PreTreatmentInstallStack.qml =================================================================== diff -u -r1286d74bd015276aab604808be2766136091c125 -r0bc5c7e5752e76707f92b9ef1ecfe54b0c5ead29 --- sources/gui/qml/pages/pretreatment/PreTreatmentInstallStack.qml (.../PreTreatmentInstallStack.qml) (revision 1286d74bd015276aab604808be2766136091c125) +++ sources/gui/qml/pages/pretreatment/PreTreatmentInstallStack.qml (.../PreTreatmentInstallStack.qml) (revision 0bc5c7e5752e76707f92b9ef1ecfe54b0c5ead29) @@ -37,17 +37,14 @@ function continueClicked() { switch ( _root.subStepIndex ) { case PreTreatmentInstallStack.Step.BloodSetTubing: - page ( _preTreatmentBloodLines ) + vPreTreatmentAdjustmentDisposablesConfirm.doConfirm() break case PreTreatmentInstallStack.Step.BloodLines: page ( _preTreatmentPressureLinesAndDialyzer ) break case PreTreatmentInstallStack.Step.PressureLinesAndDialyzer: - page ( _pretreatmentSalineSubstitution ) + goToNextStep() break - case PreTreatmentInstallStack.Step.SalineSubStitution: - vPreTreatmentAdjustmentDisposablesConfirm.doConfirm() - break default: break } @@ -73,9 +70,8 @@ if ( vSettings.advancedMode ) { return qsTr("Auto Load") } switch ( _root.subStepIndex ) { - case PreTreatmentInstallStack.Step.SalineSubStitution: - return qsTr("Auto Load") case PreTreatmentInstallStack.Step.BloodSetTubing: + return qsTr("Auto Load") case PreTreatmentInstallStack.Step.BloodLines: case PreTreatmentInstallStack.Step.PressureLinesAndDialyzer: // fall through default: @@ -107,7 +103,8 @@ function onAdjustmentTriggered ( vValue ) { if ( vPreTreatmentAdjustmentDisposablesConfirm.adjustment_Accepted ) { _preTreatmentBloodSetTubing.reasonText = "" - goToNextStep () + if ( vSettings.advancedMode ) { goToNextStep () } + else { page ( _preTreatmentBloodLines ) } } else { _preTreatmentBloodSetTubing.reasonText = vPreTreatmentAdjustmentDisposablesConfirm.text() } Index: sources/gui/qml/pages/treatment/TreatmentBloodPrime.qml =================================================================== diff -u -r1286d74bd015276aab604808be2766136091c125 -r0bc5c7e5752e76707f92b9ef1ecfe54b0c5ead29 --- sources/gui/qml/pages/treatment/TreatmentBloodPrime.qml (.../TreatmentBloodPrime.qml) (revision 1286d74bd015276aab604808be2766136091c125) +++ sources/gui/qml/pages/treatment/TreatmentBloodPrime.qml (.../TreatmentBloodPrime.qml) (revision 0bc5c7e5752e76707f92b9ef1ecfe54b0c5ead29) @@ -28,7 +28,8 @@ ScreenItem { id: _root objectName: "_TreatmentBloodPrime" - property alias notification: _notification + property alias notification : _notification + headerTitle : qsTr("Blood Priming") signal incrementRate (real newValue) signal decrementRate (real newValue) Index: sources/gui/qml/pages/treatment/TreatmentHome.qml =================================================================== diff -u -r1286d74bd015276aab604808be2766136091c125 -r0bc5c7e5752e76707f92b9ef1ecfe54b0c5ead29 --- sources/gui/qml/pages/treatment/TreatmentHome.qml (.../TreatmentHome.qml) (revision 1286d74bd015276aab604808be2766136091c125) +++ sources/gui/qml/pages/treatment/TreatmentHome.qml (.../TreatmentHome.qml) (revision 0bc5c7e5752e76707f92b9ef1ecfe54b0c5ead29) @@ -43,7 +43,6 @@ readonly property int cellWidth : Variables.treatmentCellWidth readonly property int cellHeight: Variables.treatmentCellHeight - Column { id: _column objectName: "column" Index: sources/gui/qml/pages/treatment/TreatmentStack.qml =================================================================== diff -u -r1286d74bd015276aab604808be2766136091c125 -r0bc5c7e5752e76707f92b9ef1ecfe54b0c5ead29 --- sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 1286d74bd015276aab604808be2766136091c125) +++ sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 0bc5c7e5752e76707f92b9ef1ecfe54b0c5ead29) @@ -80,8 +80,6 @@ // Components TreatmentBloodPrime { id: _treatmentBloodPrime - readonly property string headerTitle: qsTr("Blood Priming") - onIncrementRate : function(newValue) { vTreatmentAdjustmentBloodFlowRate.doAdjustment(newValue) } onDecrementRate : function(newValue) { vTreatmentAdjustmentBloodFlowRate.doAdjustment(newValue) } onPause : { vTreatmentAdjustmentBloodPrime.doPause() }