clones:fix parabolic behavior on alignment changes

--more specificaly before this patch when the host
dock was changing from justify to center alignment
clones parabolic effect did not work as intended
work/usta_fix_ecm_version_check
Michail Vourlakos 3 years ago
parent 0f3c2b8468
commit fe63a63efc

@ -471,28 +471,46 @@ Item {
function checkIndex(){
index = -1;
var startAppletIndex = -1;
for(var i=0; i<appletItem.layouter.startLayout.count; ++i){
var child = layoutsContainer.startLayout.children[i];
if (child.isParabolicEdgeSpacer || child.isInternalViewSplitter) {
continue;
}
startAppletIndex++;
if (child === appletItem){
index = layoutsContainer.startLayout.beginIndex + i;
index = layoutsContainer.startLayout.beginIndex + startAppletIndex;
break;
}
}
var mainAppletIndex = -1;
for(var i=0; i<appletItem.layouter.mainLayout.count; ++i){
var child = layoutsContainer.mainLayout.children[i];
if (child.isParabolicEdgeSpacer || child.isInternalViewSplitter) {
continue;
}
mainAppletIndex++;
if (child === appletItem){
index = layoutsContainer.mainLayout.beginIndex + i - 1; //we remove one item because at start of main layout there is a ParabolicEdgeSpacer
index = layoutsContainer.mainLayout.beginIndex + mainAppletIndex;
break;
}
}
var endAppletIndex = -1;
for(var i=0; i<appletItem.layouter.endLayout.count; ++i){
var child = layoutsContainer.endLayout.children[i];
if (child.isParabolicEdgeSpacer || child.isInternalViewSplitter) {
continue;
}
endAppletIndex++;
if (child === appletItem){
//create a very high index in order to not need to exchange hovering messages
//between layoutsContainer.mainLayout and layoutsContainer.endLayout
index = layoutsContainer.endLayout.beginIndex + i;
index = layoutsContainer.endLayout.beginIndex + endAppletIndex;
break;
}
}
@ -575,6 +593,7 @@ Item {
}
onIsAutoFillAppletChanged: updateParabolicEffectIsSupported();
onParentChanged: checkIndex()
Component.onCompleted: {
checkIndex();

Loading…
Cancel
Save