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

@ -63,7 +63,7 @@ Item {
} }
if ((root.isHorizontal && applet.Layout.fillWidth===true) if ((root.isHorizontal && applet.Layout.fillWidth===true)
|| (root.isVertical && applet.Layout.fillHeight===true)) { || (root.isVertical && applet.Layout.fillHeight===true)) {
return !isHidden; return !isHidden;
} }
@ -471,28 +471,46 @@ Item {
function checkIndex(){ function checkIndex(){
index = -1; index = -1;
var startAppletIndex = -1;
for(var i=0; i<appletItem.layouter.startLayout.count; ++i){ for(var i=0; i<appletItem.layouter.startLayout.count; ++i){
var child = layoutsContainer.startLayout.children[i]; var child = layoutsContainer.startLayout.children[i];
if (child.isParabolicEdgeSpacer || child.isInternalViewSplitter) {
continue;
}
startAppletIndex++;
if (child === appletItem){ if (child === appletItem){
index = layoutsContainer.startLayout.beginIndex + i; index = layoutsContainer.startLayout.beginIndex + startAppletIndex;
break; break;
} }
} }
var mainAppletIndex = -1;
for(var i=0; i<appletItem.layouter.mainLayout.count; ++i){ for(var i=0; i<appletItem.layouter.mainLayout.count; ++i){
var child = layoutsContainer.mainLayout.children[i]; var child = layoutsContainer.mainLayout.children[i];
if (child.isParabolicEdgeSpacer || child.isInternalViewSplitter) {
continue;
}
mainAppletIndex++;
if (child === appletItem){ 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; break;
} }
} }
var endAppletIndex = -1;
for(var i=0; i<appletItem.layouter.endLayout.count; ++i){ for(var i=0; i<appletItem.layouter.endLayout.count; ++i){
var child = layoutsContainer.endLayout.children[i]; var child = layoutsContainer.endLayout.children[i];
if (child.isParabolicEdgeSpacer || child.isInternalViewSplitter) {
continue;
}
endAppletIndex++;
if (child === appletItem){ if (child === appletItem){
//create a very high index in order to not need to exchange hovering messages //create a very high index in order to not need to exchange hovering messages
//between layoutsContainer.mainLayout and layoutsContainer.endLayout //between layoutsContainer.mainLayout and layoutsContainer.endLayout
index = layoutsContainer.endLayout.beginIndex + i; index = layoutsContainer.endLayout.beginIndex + endAppletIndex;
break; break;
} }
} }
@ -575,6 +593,7 @@ Item {
} }
onIsAutoFillAppletChanged: updateParabolicEffectIsSupported(); onIsAutoFillAppletChanged: updateParabolicEffectIsSupported();
onParentChanged: checkIndex()
Component.onCompleted: { Component.onCompleted: {
checkIndex(); checkIndex();
@ -686,7 +705,7 @@ Item {
onExpandedAppletStateChanged: { onExpandedAppletStateChanged: {
if (latteView.extendedInterface.hasExpandedApplet && appletItem.applet) { if (latteView.extendedInterface.hasExpandedApplet && appletItem.applet) {
appletItem.isExpanded = latteView.extendedInterface.appletIsExpandable(appletItem.applet.id) appletItem.isExpanded = latteView.extendedInterface.appletIsExpandable(appletItem.applet.id)
&& latteView.extendedInterface.appletIsExpanded(appletItem.applet.id); && latteView.extendedInterface.appletIsExpanded(appletItem.applet.id);
} else { } else {
appletItem.isExpanded = false; appletItem.isExpanded = false;
} }

Loading…
Cancel
Save