From 6ae3c499f02bc030ff2c2047a1b7c9e5ed7c1579 Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Fri, 8 May 2020 22:20:13 +0300 Subject: [PATCH] block calculations for applets changing parents --- .../contents/ui/abilities/Animations.qml | 3 +++ .../package/contents/ui/abilities/Indexer.qml | 3 ++- .../ui/abilities/privates/IndexerPrivate.qml | 16 ++++++++-------- .../contents/ui/layouts/AppletsContainer.qml | 3 ++- .../ui/layouts/abilities/AbilityGrid.qml | 2 +- containment/package/contents/ui/main.qml | 19 ++++++++++++------- 6 files changed, 28 insertions(+), 18 deletions(-) diff --git a/containment/package/contents/ui/abilities/Animations.qml b/containment/package/contents/ui/abilities/Animations.qml index 0a6652cd4..f09b80720 100644 --- a/containment/package/contents/ui/abilities/Animations.qml +++ b/containment/package/contents/ui/abilities/Animations.qml @@ -29,11 +29,14 @@ ContainerAbility.Animations { property Item metrics: null property QtObject settings: null + //TO BE MOVED in LAYOUTER ability + property bool appletsInParentChange: false readonly property bool inNormalFillCalculationsState: needBothAxis.count === 0 && needThickness.count === 0 && ((needLength.count === 0) || (needLength.count===1 && editModeVisual.inEditMode)) && (!dragOverlay || (dragOverlay && !dragOverlay.pressed)) /*do not update during moving/dragging applets*/ + && !appletsInParentChange //! Public Properties active: plasmoid.configuration.animationsEnabled && LatteCore.WindowSystem.compositingActive diff --git a/containment/package/contents/ui/abilities/Indexer.qml b/containment/package/contents/ui/abilities/Indexer.qml index 200ee146b..06f8bb2e8 100644 --- a/containment/package/contents/ui/abilities/Indexer.qml +++ b/containment/package/contents/ui/abilities/Indexer.qml @@ -24,7 +24,8 @@ import "./privates" as Ability Ability.IndexerPrivate { //! do not update during dragging/moving applets inConfigureAppletsMode - updateIsBlocked: root.dragOverlay && root.dragOverlay.pressed + updateIsBlocked: (root.dragOverlay && root.dragOverlay.pressed) + || animations.appletsInParentChange function getClientBridge(index) { if (clientsBridges.length<=0) { diff --git a/containment/package/contents/ui/abilities/privates/IndexerPrivate.qml b/containment/package/contents/ui/abilities/privates/IndexerPrivate.qml index bfcaea860..e66cdb77d 100644 --- a/containment/package/contents/ui/abilities/privates/IndexerPrivate.qml +++ b/containment/package/contents/ui/abilities/privates/IndexerPrivate.qml @@ -36,8 +36,8 @@ AbilityDefinition.Indexer { target: indxr property: "separators" value: { - if (index.updateIsBlocked) { - return; + if (updateIsBlocked) { + return []; } var seps = []; @@ -74,8 +74,8 @@ AbilityDefinition.Indexer { target: indxr property: "hidden" value: { - if (index.updateIsBlocked) { - return; + if (updateIsBlocked) { + return []; } var hdn = []; @@ -112,8 +112,8 @@ AbilityDefinition.Indexer { target: indxr property: "clients" value: { - if (index.updateIsBlocked) { - return; + if (updateIsBlocked) { + return []; } var clns = []; @@ -159,8 +159,8 @@ AbilityDefinition.Indexer { target: indxr property: "clientsBridges" value: { - if (index.updateIsBlocked) { - return; + if (updateIsBlocked) { + return []; } var bdgs = []; diff --git a/containment/package/contents/ui/layouts/AppletsContainer.qml b/containment/package/contents/ui/layouts/AppletsContainer.qml index 4a00c6e1f..2f76c879b 100644 --- a/containment/package/contents/ui/layouts/AppletsContainer.qml +++ b/containment/package/contents/ui/layouts/AppletsContainer.qml @@ -55,7 +55,8 @@ Abilities.AbilityGrid { property int lastVisibleIndex: -1 //! do not update during dragging/moving applets inConfigureAppletsMode - readonly property bool updateIsBlocked: root.dragOverlay && root.dragOverlay.pressed + readonly property bool updateIsBlocked: (root.dragOverlay && root.dragOverlay.pressed) + || animations.appletsInParentChange Binding{ target: appletsContainer diff --git a/containment/package/contents/ui/layouts/abilities/AbilityGrid.qml b/containment/package/contents/ui/layouts/abilities/AbilityGrid.qml index d7883c82b..a6d3fdd36 100644 --- a/containment/package/contents/ui/layouts/abilities/AbilityGrid.qml +++ b/containment/package/contents/ui/layouts/abilities/AbilityGrid.qml @@ -28,7 +28,7 @@ AbilityGridPrivate { readonly property bool updateIsBlocked: root.dragOverlay && root.dragOverlay.pressed Binding{ - target: ability.require + target: ability.parabolic property: "restoreZoomIsBlocked" value: { if (grid.updateIsBlocked) { diff --git a/containment/package/contents/ui/main.qml b/containment/package/contents/ui/main.qml index 5cf4adb4a..713e15d34 100644 --- a/containment/package/contents/ui/main.qml +++ b/containment/package/contents/ui/main.qml @@ -527,12 +527,6 @@ Item { } onInConfigureAppletsModeChanged: { - /* if (inConfigureAppletsMode && panelUserSetAlignment===LatteCore.Types.Justify) { - joinLayoutsToMainLayout(); - } else if (!inConfigureAppletsMode) { - splitMainLayoutToLayouts(); - }*/ - updateIndexes(); } @@ -627,6 +621,8 @@ Item { Component.onDestruction: { console.debug("Destroying Latte Dock Containment ui..."); + animations.appletsInParentChange = true; + if (latteView) { latteView.positioner.hideDockDuringLocationChangeStarted.disconnect(visibilityManager.slotHideDockDuringLocationChange); latteView.positioner.showDockAfterLocationChangeFinished.disconnect(visibilityManager.slotShowDockAfterLocationChange); @@ -1116,12 +1112,15 @@ Item { if (plasmoid.configuration.alignment !== 10) { return; } - + animations.appletsInParentChange = true; splitMainLayoutToLayouts(); + animations.appletsInParentChange = false; } function splitMainLayoutToLayouts() { if (internalViewSplittersCount() === 2) { + animations.appletsInParentChange = true; + console.log("LAYOUTS: Moving applets from MAIN to THREE Layouts mode..."); var splitter = -1; var splitter2 = -1; @@ -1152,10 +1151,14 @@ Item { var item = layoutsContainer.mainLayout.children[i]; LayoutManager.insertAtIndex(layoutsContainer.endLayout, item, 0); } + + animations.appletsInParentChange = false; } } function joinLayoutsToMainLayout() { + animations.appletsInParentChange = true; + console.log("LAYOUTS: Moving applets from THREE to MAIN Layout mode..."); var totalChildren1 = layoutsContainer.mainLayout.children.length; for (var i=totalChildren1-1; i>=0; --i) { @@ -1175,6 +1178,8 @@ Item { var itemL = layoutsContainer.startLayout.children[0]; itemL.parent = layoutsContainer.mainLayout; } + + animations.appletsInParentChange = false; } function upgrader_v010_alignment() {