Index: sources/gui/qml/compounds/CheckListView.qml =================================================================== diff -u -rc9f8f8cf3c6c37fc6460d8675c62c9442c4d4263 -rca43b0285ec853d03be20103c6e0e0d9af86fd0a --- sources/gui/qml/compounds/CheckListView.qml (.../CheckListView.qml) (revision c9f8f8cf3c6c37fc6460d8675c62c9442c4d4263) +++ sources/gui/qml/compounds/CheckListView.qml (.../CheckListView.qml) (revision ca43b0285ec853d03be20103c6e0e0d9af86fd0a) @@ -47,12 +47,80 @@ } } } - function setItem(vIndex, vEntered) { - let model = _listView.itemAt(vIndex) - if ( vEntered ) model.stepStart = true - else model.stepDone = true + + property int pIndex:-1 + function setClear (vModel) { vModel.stepStart = false ; vModel.stepDone = false } + function setWait (vModel) { vModel.stepStart = true ; vModel.stepDone = false } + function setDone (vModel) { vModel.stepStart = true ; vModel.stepDone = true } + function setItemExt (vIndex, vEntered) { + let goBak = pIndex > vIndex + let goTop = pIndex < vIndex + // if ( pIndex === vIndex && !vEntered ) return + + for ( let i = 0; i < _listView.count; i++ ) { + let model = _listView.itemAt(i) + console.log(i, pIndex, vEntered?"I":"O", vIndex/*, goBak?"B":" ", goTop?"T":" "*/) + if ( i < vIndex ) { + if ( goTop ) { + // Do nothing + } + else { + // setDone(model) + } + } + if ( i > vIndex ) { + setClear(model) + } + if ( i === vIndex ) { + if ( vEntered ) { + setWait(model) + } + else { + if ( goTop ) { + setClear(model) + } + else { + if ( goBak ) { + setClear(model) + } + else { + setDone(model) + } + } + } + } + } + pIndex = vIndex + console.log("-----") } + //DEBUG Test function for investigation + function setItemExt2 (vIndex, vValue, vMode) { + for ( let i = 0; i < _listView.count; i++ ) { + let model = _listView.itemAt(i) + if ( i < vIndex ) { + setDone(model) + continue + } + if ( i > vIndex ) { + setClear(model) + continue + } + if ( vMode === 0 ) // enter + setWait(model) + if ( vMode === 1 ) // in Progress + setWait(model) + if ( vMode === 2 ) // exit + setDone(model) + if ( vMode === 9 ){// depending on value + if ( vValue ) setWait(model) + else setDone(model) + } + + } + + } + width : _root.delegateWidth height : _root.delegateHeight * _root.stepNames.length