From 528a857b47dbf003ccf2242675075e8f1f56b5ed Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Tue, 23 May 2017 20:26:20 +0300 Subject: [PATCH] apply a proper clearing zoom for applets --this is finally used properly through the ParabolicManagers new architecture. Any old problems concerning applets that didnt clearing their zoom should be fixed totally now!! --- .../contents/ui/applet/AppletItemWrapper.qml | 4 +-- .../package/contents/ui/ParabolicManager.qml | 30 ++++++++++++++----- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/containment/package/contents/ui/applet/AppletItemWrapper.qml b/containment/package/contents/ui/applet/AppletItemWrapper.qml index b4deb852b..253e5fa56 100644 --- a/containment/package/contents/ui/applet/AppletItemWrapper.qml +++ b/containment/package/contents/ui/applet/AppletItemWrapper.qml @@ -596,9 +596,9 @@ Item{ //use the new parabolicManager in order to handle all parabolic effect messages var scales = parabolicManager.applyParabolicEffect(index, currentMousePosition, center); - if (root.latteApplet && Math.abs(index - root.latteAppletPos) > 2){ + /*if (root.latteApplet && Math.abs(index - root.latteAppletPos) > 2){ root.latteApplet.clearZoom(); - } + }*/ //Left hiddenSpacer if(container.startEdge){ diff --git a/plasmoid/package/contents/ui/ParabolicManager.qml b/plasmoid/package/contents/ui/ParabolicManager.qml index b82897074..31a99e32f 100644 --- a/plasmoid/package/contents/ui/ParabolicManager.qml +++ b/plasmoid/package/contents/ui/ParabolicManager.qml @@ -37,6 +37,7 @@ Item { function updateIdSendScale(index, zScale, zStep){ if ((index>=0 && index<=root.tasksCount-1) || (!root.latteDock)){ root.updateScale(index, zScale, zStep); + return -1; } else{ var appletId = latteDock.latteAppletPos; if (index<0) @@ -47,6 +48,7 @@ Item { } latteDock.updateScale(appletId, zScale, zStep); + return appletId; } } @@ -85,13 +87,16 @@ Item { // console.debug(leftScale + " " + rightScale + " " + index); + var gAppletId = -1; + var lAppletId = -1; + if(!hasInternalSeparator || Math.abs(index-internalSeparatorPos)>=2){ //activate messages to update the the neighbour scales updateIdSendScale(index+1, rightScale, 0); updateIdSendScale(index-1, leftScale, 0); - updateIdSendScale(index+2, 1, 0); - updateIdSendScale(index-2, 1, 0); + gAppletId = updateIdSendScale(index+2, 1, 0); + lAppletId = updateIdSendScale(index-2, 1, 0); clearTasksGreaterThan(index+1); clearTasksLowerThan(index-1); @@ -100,9 +105,8 @@ Item { updateIdSendScale(index+2, rightScale, 0); updateIdSendScale(index-1, leftScale, 0); - - updateIdSendScale(index+3, 1, 0); - updateIdSendScale(index-2, 1, 0); + gAppletId = updateIdSendScale(index+3, 1, 0); + lAppletId = updateIdSendScale(index-2, 1, 0); clearTasksGreaterThan(index+2); clearTasksLowerThan(index-1); @@ -110,14 +114,26 @@ Item { updateIdSendScale(index-2, leftScale, 0); updateIdSendScale(index+1, rightScale, 0); - updateIdSendScale(index+2, 1, 0); - updateIdSendScale(index-3, 1, 0); + gAppletId = updateIdSendScale(index+2, 1, 0); + lAppletId = updateIdSendScale(index-3, 1, 0); clearTasksGreaterThan(index+1); clearTasksLowerThan(index-2); } } + if (latteDock){ + if (gAppletId > -1) + latteDock.parabolicManager.clearAppletsGreaterThan(gAppletId-1); + else + latteDock.parabolicManager.clearAppletsGreaterThan(latteDock.latteAppletPos); + + if (lAppletId > -1) + latteDock.parabolicManager.clearAppletsLowerThan(lAppletId+1); + else + latteDock.parabolicManager.clearAppletsLowerThan(latteDock.latteAppletPos); + } + return {leftScale:leftScale, rightScale:rightScale}; }