From f497d4ae629abdce55c87ee314c7cbae0be7b8fe Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Wed, 10 Apr 2019 23:08:49 +0300 Subject: [PATCH] improve updateIndexes at Justify alignment changes --fix how applets are identifying their index when the user switches alignments from Justify to Another and vice versa. More specific this patch helps in order to not break the parabolic effect between alignment changes. --- .../package/contents/ui/LayoutsContainer.qml | 7 ++++ .../package/contents/ui/applet/AppletItem.qml | 18 ++++++-- containment/package/contents/ui/main.qml | 41 ++++--------------- 3 files changed, 28 insertions(+), 38 deletions(-) diff --git a/containment/package/contents/ui/LayoutsContainer.qml b/containment/package/contents/ui/LayoutsContainer.qml index 4e806ba2e..08679c812 100644 --- a/containment/package/contents/ui/LayoutsContainer.qml +++ b/containment/package/contents/ui/LayoutsContainer.qml @@ -357,6 +357,13 @@ Item{ return no; } + onCountChanged: { + if (root.editMode) { + //! this is mainly used when removing/adding internal view splitters + //! in order to not break the parabolic effect from wrong indexes + root.updateIndexes(); + } + } onFillAppletsChanged: layoutsContainer.updateSizeForAppletsInFill(); onShownAppletsChanged: layoutsContainer.updateSizeForAppletsInFill(); onSizeWithNoFillAppletsChanged: layoutsContainer.updateSizeForAppletsInFill(); diff --git a/containment/package/contents/ui/applet/AppletItem.qml b/containment/package/contents/ui/applet/AppletItem.qml index e4ea99892..8bc2cf41e 100644 --- a/containment/package/contents/ui/applet/AppletItem.qml +++ b/containment/package/contents/ui/applet/AppletItem.qml @@ -160,21 +160,24 @@ Item { index = -1; for(var i=0; i 0) { - console.log("Removing splitters... : " + internalViewSplittersCount()); - - for (var container in layoutsContainer.startLayout.children) { - var item = layoutsContainer.startLayout.children[container]; - if(item && item.isInternalViewSplitter) { - item.destroy(); - } - } - - for (var container in layoutsContainer.mainLayout.children) { - var item = layoutsContainer.mainLayout.children[container]; - if(item && item.isInternalViewSplitter) { - item.destroy(); - } - } - - for (var container in layoutsContainer.endLayout.children) { - var item = layoutsContainer.endLayout.children[container]; - if(item && item.isInternalViewSplitter) { - item.destroy(); - } - } - - console.log("Removed splitters... : " + internalViewSplittersCount()); - } - } - function setHoveredIndex(ind) { layoutsContainer.hoveredIndex = ind; } @@ -1526,8 +1503,6 @@ DragDrop.DropArea { item.parent = layoutsContainer.endLayout; } } - - updateIndexes(); } function joinLayoutsToMainLayout() { @@ -1550,8 +1525,6 @@ DragDrop.DropArea { var itemL = layoutsContainer.startLayout.children[0]; itemL.parent = layoutsContainer.mainLayout; } - - updateIndexes(); } //END functions