NEW Intuitive InConfigureApplets Mode

--I have managed to solve most of the issues that were
preventing a live demonstration of applets layout
during InConfigureApplets mode... Things are more
intuitive now are updated correctly between different
layout areas... enjoy...
pull/15/head
Michail Vourlakos 5 years ago
parent 7a451facb2
commit 97a1c3fdb8

@ -238,7 +238,7 @@ function removeApplet (applet) {
//insert item2 before item1 //insert item2 before item1
function insertBefore(item1, item2) { function insertBefore(item1, item2) {
return insertBeforeForLayout(layout, item1, item2); return insertBeforeForLayout(item1.parent, item1, item2);;
} }
//insert item2 before item1 //insert item2 before item1
@ -273,7 +273,7 @@ function insertBeforeForLayout(tLayout, item1, item2) {
//insert item2 after item1 //insert item2 after item1
function insertAfter(item1, item2) { function insertAfter(item1, item2) {
return insertAfterForLayout(layout, item1, item2); return insertAfterForLayout(item1.parent, item1, item2);
} }
//insert item2 after item1 //insert item2 after item1
@ -315,16 +315,16 @@ function insertAfterForLayout(tLayout, item1, item2) {
} }
function insertAtIndex(item, position) { function insertAtIndex(relevantLayout, item, position) {
var addToEnd = false; var addToEnd = false;
if (position < 0 || (position > layout.children.length && !item.isInternalViewSplitter)) { if (position < 0 || (position > relevantLayout.children.length && !item.isInternalViewSplitter)) {
return; return;
} else if (position >= layout.children.length) { } else if (position >= relevantLayout.children.length) {
addToEnd = true; addToEnd = true;
} }
//never ever insert after lastSpacer //never ever insert after lastSpacer
var firstItem = (layout.children.length === 1) && (layout.children[0] === lastSpacer); var firstItem = (relevantLayout.children.length === 1) && (relevantLayout.children[0] === lastSpacer);
//Important !!! , this is used to add the first item //Important !!! , this is used to add the first item
if(firstItem){ if(firstItem){
@ -333,28 +333,28 @@ function insertAtIndex(item, position) {
} }
if (addToEnd){ if (addToEnd){
item.parent=layout; item.parent=relevantLayout;
return; return;
} }
if(layout.children.length > 0){ if(relevantLayout.children.length > 0){
if (layout.children[position] === lastSpacer) { if (relevantLayout.children[position] === lastSpacer) {
--position; --position;
} }
} }
var removedItems = new Array(); var removedItems = new Array();
var totalChildren = layout.children.length; var totalChildren = relevantLayout.children.length;
for (var i = position; i < totalChildren; ++i) { for (var i = position; i < totalChildren; ++i) {
var child = layout.children[position]; var child = relevantLayout.children[position];
child.parent = root; child.parent = root;
removedItems.push(child); removedItems.push(child);
} }
item.parent = layout; item.parent = relevantLayout;
for (var i in removedItems) { for (var i in removedItems) {
removedItems[i].parent = layout; removedItems[i].parent = relevantLayout;
} }
} }
@ -479,14 +479,12 @@ function insertAtLayoutCoordinates(tLayout, item, x, y) {
function insertAtCoordinates2(item, x, y) { function insertAtCoordinates2(item, x, y) {
var pos = -1; var pos = -1;
if (!root.inConfigureAppletsMode) { var layoutPosS = layoutS.mapFromItem(root, x, y);
var layoutPosS = layoutS.mapFromItem(root, x, y); pos = insertAtLayoutCoordinates(layoutS, item, layoutPosS.x, layoutPosS.y);
pos = insertAtLayoutCoordinates(layoutS, item, layoutPosS.x, layoutPosS.y);
if (pos === -1){ if (pos === -1){
var layoutPosE = layoutE.mapFromItem(root, x, y); var layoutPosE = layoutE.mapFromItem(root, x, y);
pos = insertAtLayoutCoordinates(layoutE, item, layoutPosE.x, layoutPosE.y); pos = insertAtLayoutCoordinates(layoutE, item, layoutPosE.x, layoutPosE.y);
}
} }
if (pos!==childFoundId && pos === -1) { if (pos!==childFoundId && pos === -1) {

@ -33,7 +33,7 @@ ContainerAbility.Animations {
&& needThickness.count === 0 && needThickness.count === 0
&& ((needLength.count === 0) && ((needLength.count === 0)
|| (needLength.count===1 && editModeVisual.inEditMode)) || (needLength.count===1 && editModeVisual.inEditMode))
&& (!dragOverlay || (dragOverlay && !dragOverlay.pressed)) /*do not update during moving/dragging applets*/
//! Public Properties //! Public Properties
active: plasmoid.configuration.animationsEnabled && LatteCore.WindowSystem.compositingActive active: plasmoid.configuration.animationsEnabled && LatteCore.WindowSystem.compositingActive

@ -23,6 +23,9 @@ import org.kde.plasma.plasmoid 2.0
import "./privates" as Ability import "./privates" as Ability
Ability.IndexerPrivate { Ability.IndexerPrivate {
//! do not update during dragging/moving applets inConfigureAppletsMode
updateIsBlocked: root.dragOverlay && root.dragOverlay.pressed
function getClientBridge(index) { function getClientBridge(index) {
if (clientsBridges.length<=0) { if (clientsBridges.length<=0) {
return false; return false;

@ -27,148 +27,184 @@ AbilityDefinition.Indexer {
property Item layouts: null property Item layouts: null
separators: { property bool updateIsBlocked: false
var seps = [];
var sLayout = layouts.startLayout; property var clients: []
for (var i=0; i<sLayout.children.length; ++i){ property var clientsBridges: []
var appletItem = sLayout.children[i];
if (appletItem && appletItem.isSeparator && appletItem.index>=0) { Binding{
seps.push(appletItem.index); target: indxr
property: "separators"
value: {
if (index.updateIsBlocked) {
return;
} }
}
var mLayout = layouts.mainLayout; var seps = [];
for (var i=0; i<mLayout.children.length; ++i){
var appletItem = mLayout.children[i]; var sLayout = layouts.startLayout;
if (appletItem && appletItem.isSeparator && appletItem.index>=0) { for (var i=0; i<sLayout.children.length; ++i){
seps.push(appletItem.index); var appletItem = sLayout.children[i];
if (appletItem && appletItem.isSeparator && appletItem.index>=0) {
seps.push(appletItem.index);
}
} }
}
var eLayout = layouts.endLayout; var mLayout = layouts.mainLayout;
for (var i=0; i<eLayout.children.length; ++i){ for (var i=0; i<mLayout.children.length; ++i){
var appletItem = eLayout.children[i]; var appletItem = mLayout.children[i];
if (appletItem && appletItem.isSeparator && appletItem.index>=0) { if (appletItem && appletItem.isSeparator && appletItem.index>=0) {
seps.push(appletItem.index); seps.push(appletItem.index);
}
}
var eLayout = layouts.endLayout;
for (var i=0; i<eLayout.children.length; ++i){
var appletItem = eLayout.children[i];
if (appletItem && appletItem.isSeparator && appletItem.index>=0) {
seps.push(appletItem.index);
}
} }
}
return seps; return seps;
}
} }
hidden: { Binding {
var hdn = []; target: indxr
property: "hidden"
value: {
if (index.updateIsBlocked) {
return;
}
var hdn = [];
var sLayout = layouts.startLayout; var sLayout = layouts.startLayout;
for (var i=0; i<sLayout.children.length; ++i){ for (var i=0; i<sLayout.children.length; ++i){
var appletItem = sLayout.children[i]; var appletItem = sLayout.children[i];
if (appletItem && appletItem.isHidden && appletItem.index>=0) { if (appletItem && appletItem.isHidden && appletItem.index>=0) {
hdn.push(appletItem.index); hdn.push(appletItem.index);
}
} }
}
var mLayout = layouts.mainLayout; var mLayout = layouts.mainLayout;
for (var i=0; i<mLayout.children.length; ++i){ for (var i=0; i<mLayout.children.length; ++i){
var appletItem = mLayout.children[i]; var appletItem = mLayout.children[i];
if (appletItem && appletItem.isHidden && appletItem.index>=0) { if (appletItem && appletItem.isHidden && appletItem.index>=0) {
hdn.push(appletItem.index); hdn.push(appletItem.index);
}
} }
}
var eLayout = layouts.endLayout; var eLayout = layouts.endLayout;
for (var i=0; i<eLayout.children.length; ++i){ for (var i=0; i<eLayout.children.length; ++i){
var appletItem = eLayout.children[i]; var appletItem = eLayout.children[i];
if (appletItem && appletItem.isHidden && appletItem.index>=0) { if (appletItem && appletItem.isHidden && appletItem.index>=0) {
hdn.push(appletItem.index); hdn.push(appletItem.index);
}
} }
}
return hdn; return hdn;
}
} }
Binding {
target: indxr
property: "clients"
value: {
if (index.updateIsBlocked) {
return;
}
readonly property var clients: { var clns = [];
var clns = [];
var sLayout = layouts.startLayout;
var sLayout = layouts.startLayout; for (var i=0; i<sLayout.children.length; ++i){
for (var i=0; i<sLayout.children.length; ++i){ var appletItem = sLayout.children[i];
var appletItem = sLayout.children[i]; if (appletItem
if (appletItem && appletItem.index>=0
&& appletItem.index>=0 && appletItem.communicator
&& appletItem.communicator && appletItem.communicator.indexerIsSupported) {
&& appletItem.communicator.indexerIsSupported) { clns.push(appletItem.index);
clns.push(appletItem.index); }
} }
}
var mLayout = layouts.mainLayout; var mLayout = layouts.mainLayout;
for (var i=0; i<mLayout.children.length; ++i){ for (var i=0; i<mLayout.children.length; ++i){
var appletItem = mLayout.children[i]; var appletItem = mLayout.children[i];
if (appletItem if (appletItem
&& appletItem.index>=0 && appletItem.index>=0
&& appletItem.communicator && appletItem.communicator
&& appletItem.communicator.indexerIsSupported) { && appletItem.communicator.indexerIsSupported) {
clns.push(appletItem.index); clns.push(appletItem.index);
}
} }
}
var eLayout = layouts.endLayout; var eLayout = layouts.endLayout;
for (var i=0; i<eLayout.children.length; ++i){ for (var i=0; i<eLayout.children.length; ++i){
var appletItem = eLayout.children[i]; var appletItem = eLayout.children[i];
if (appletItem if (appletItem
&& appletItem.index>=0 && appletItem.index>=0
&& appletItem.communicator && appletItem.communicator
&& appletItem.communicator.indexerIsSupported) { && appletItem.communicator.indexerIsSupported) {
clns.push(appletItem.index); clns.push(appletItem.index);
}
} }
}
return clns; return clns;
}
} }
readonly property var clientsBridges: { Binding {
var bdgs = []; target: indxr
property: "clientsBridges"
value: {
if (index.updateIsBlocked) {
return;
}
var sLayout = layouts.startLayout; var bdgs = [];
for (var i=0; i<sLayout.children.length; ++i){
var appletItem = sLayout.children[i]; var sLayout = layouts.startLayout;
if (appletItem for (var i=0; i<sLayout.children.length; ++i){
&& appletItem.index>=0 var appletItem = sLayout.children[i];
&& appletItem.communicator if (appletItem
&& appletItem.communicator.indexerIsSupported && appletItem.index>=0
&& appletItem.communicator.bridge && appletItem.communicator
&& appletItem.communicator.bridge.indexer) { && appletItem.communicator.indexerIsSupported
bdgs.push(appletItem.communicator.bridge.indexer); && appletItem.communicator.bridge
&& appletItem.communicator.bridge.indexer) {
bdgs.push(appletItem.communicator.bridge.indexer);
}
} }
}
var mLayout = layouts.mainLayout; var mLayout = layouts.mainLayout;
for (var i=0; i<mLayout.children.length; ++i){ for (var i=0; i<mLayout.children.length; ++i){
var appletItem = mLayout.children[i]; var appletItem = mLayout.children[i];
if (appletItem if (appletItem
&& appletItem.index>=0 && appletItem.index>=0
&& appletItem.communicator && appletItem.communicator
&& appletItem.communicator.indexerIsSupported && appletItem.communicator.indexerIsSupported
&& appletItem.communicator.bridge && appletItem.communicator.bridge
&& appletItem.communicator.bridge.indexer) { && appletItem.communicator.bridge.indexer) {
bdgs.push(appletItem.communicator.bridge.indexer); bdgs.push(appletItem.communicator.bridge.indexer);
}
} }
}
var eLayout = layouts.endLayout; var eLayout = layouts.endLayout;
for (var i=0; i<eLayout.children.length; ++i){ for (var i=0; i<eLayout.children.length; ++i){
var appletItem = eLayout.children[i]; var appletItem = eLayout.children[i];
if (appletItem if (appletItem
&& appletItem.index>=0 && appletItem.index>=0
&& appletItem.communicator && appletItem.communicator
&& appletItem.communicator.indexerIsSupported && appletItem.communicator.indexerIsSupported
&& appletItem.communicator.bridge && appletItem.communicator.bridge
&& appletItem.communicator.bridge.indexer) { && appletItem.communicator.bridge.indexer) {
bdgs.push(appletItem.communicator.bridge.indexer); bdgs.push(appletItem.communicator.bridge.indexer);
}
} }
}
return bdgs; return bdgs;
}
} }
} }

@ -64,6 +64,40 @@ MouseArea {
onWidthChanged: tooltip.visible = false; onWidthChanged: tooltip.visible = false;
function hoveredItem(x, y) {
//! main layout
var relevantLayout = mapFromItem(layoutsContainer.mainLayout,0,0);
var item = layoutsContainer.mainLayout.childAt(x-relevantLayout.x, y-relevantLayout.y);
if (!item) {
// start layout
relevantLayout = mapFromItem(layoutsContainer.startLayout,0,0);
item = layoutsContainer.startLayout.childAt(x-relevantLayout.x, y-relevantLayout.y);
}
if (!item) {
relevantLayout = mapFromItem(layoutsContainer.endLayout,0,0);
item = layoutsContainer.endLayout.childAt(x-relevantLayout.x, y-relevantLayout.y);
}
return item;
}
function relevantLayoutForApplet(curapplet) {
var relevantLayout;
if (curapplet.parent === layoutsContainer.mainLayout) {
relevantLayout = mapFromItem(layoutsContainer.mainLayout, 0, 0);
} else if (curapplet.parent === layoutsContainer.startLayout) {
relevantLayout = mapFromItem(layoutsContainer.startLayout, 0, 0);
} else if (curapplet.parent === layoutsContainer.endLayout) {
relevantLayout = mapFromItem(layoutsContainer.endLayout, 0, 0);
}
return relevantLayout;
}
onPositionChanged: { onPositionChanged: {
if (pressed) { if (pressed) {
var padding = units.gridUnit * 3; var padding = units.gridUnit * 3;
@ -92,8 +126,7 @@ MouseArea {
lastX = mouse.x; lastX = mouse.x;
lastY = mouse.y; lastY = mouse.y;
var relevantLayout = mapFromItem(layoutsContainer.mainLayout, 0, 0); var item = hoveredItem(mouse.x, mouse.y);
var item = layoutsContainer.mainLayout.childAt(mouse.x-relevantLayout.x, mouse.y-relevantLayout.y);
if (item && item !== placeHolder) { if (item && item !== placeHolder) {
placeHolder.parent = configurationArea; placeHolder.parent = configurationArea;
@ -107,10 +140,9 @@ MouseArea {
} }
} }
} else { } else {
var relevantLayout = mapFromItem(layoutsContainer.mainLayout,0,0); var item = hoveredItem(mouse.x, mouse.y);
var item = layoutsContainer.mainLayout.childAt(mouse.x-relevantLayout.x, mouse.y-relevantLayout.y);
if (root.dragOverlay && item && item !== lastSpacer) { if (root.dragOverlay && item && item !== lastSpacer) {
root.dragOverlay.currentApplet = item; root.dragOverlay.currentApplet = item;
} else { } else {
@ -132,13 +164,16 @@ MouseArea {
onCurrentAppletChanged: { onCurrentAppletChanged: {
previousCurrentApplet = currentApplet; previousCurrentApplet = currentApplet;
if (!currentApplet if (!currentApplet || !root.dragOverlay.currentApplet) {
|| !root.dragOverlay.currentApplet) {
hideTimer.restart(); hideTimer.restart();
return; return;
} }
var relevantLayout = mapFromItem(layoutsContainer.mainLayout, 0, 0); var relevantLayout = relevantLayoutForApplet(currentApplet) ;
if (!relevantLayout) {
return;
}
handle.x = relevantLayout.x + currentApplet.x; handle.x = relevantLayout.x + currentApplet.x;
handle.y = relevantLayout.y + currentApplet.y; handle.y = relevantLayout.y + currentApplet.y;
@ -202,6 +237,8 @@ MouseArea {
// handle.width = currentApplet.width; // handle.width = currentApplet.width;
// handle.height = currentApplet.height; // handle.height = currentApplet.height;
root.layoutManagerSave(); root.layoutManagerSave();
root.layoutManagerMoveAppletsOutOfMainLayoutToLayouts();
layoutsContainer.updateSizeForAppletsInFill();
} }
onWheel: { onWheel: {

@ -43,15 +43,26 @@ Abilities.AbilityGrid {
readonly property int count: children.length readonly property int count: children.length
//it is used in calculations for fillWidth,fillHeight applets
property int shownApplets: 0
property int fillApplets: 0
//it is used in calculations for fillWidth,fillHeight applets //it is used in calculations for fillWidth,fillHeight applets
property int sizeWithNoFillApplets: 0 property int sizeWithNoFillApplets: 0
readonly property int maxIndex: 99999
property int firstVisibleIndex: -1
property int lastVisibleIndex: -1
//! do not update during dragging/moving applets inConfigureAppletsMode
readonly property bool updateIsBlocked: root.dragOverlay && root.dragOverlay.pressed
Binding{ Binding{
target: appletsContainer target: appletsContainer
property:"sizeWithNoFillApplets" property:"sizeWithNoFillApplets"
when: appletsContainer when: appletsContainer
value: { value: {
if (!animations.inNormalFillCalculationsState) { if (!animations.inNormalFillCalculationsState || updateIsBlocked) {
return; return;
} }
@ -68,43 +79,58 @@ Abilities.AbilityGrid {
} }
} }
property int shownApplets: {
var res = 0;
for (var i=0; i<children.length; ++i){ Binding{
if (children[i] && children[i].isHidden) { target: appletsContainer
//do nothing property:"shownApplets"
} else if (children[i] && (children[i].applet || children[i].isInternalViewSplitter)){ when: appletsContainer
res = res + 1; value: {
if (updateIsBlocked) {
return;
} }
}
return res; var res = 0;
}
//it is used in calculations for fillWidth,fillHeight applets for (var i=0; i<children.length; ++i){
property int fillApplets:{ if (children[i] && children[i].isHidden) {
var no = 0; //do nothing
for (var i=0; i<children.length; ++i){ } else if (children[i] && (children[i].applet || children[i].isInternalViewSplitter)){
if (children[i] && children[i].needsFillSpace) { res = res + 1;
//console.log("fill :::: " + children[i].applet.pluginName); }
no++;
} }
}
return no; return res;
}
} }
readonly property int maxIndex: 99999
property int firstVisibleIndex: -1 Binding{
property int lastVisibleIndex: -1 target: appletsContainer
property:"fillApplets"
when: appletsContainer
value: {
if (updateIsBlocked) {
return;
}
var no = 0;
for (var i=0; i<children.length; ++i){
if (children[i] && children[i].needsFillSpace) {
//console.log("fill :::: " + children[i].applet.pluginName);
no++;
}
}
return no;
}
}
Binding{ Binding{
target: appletsContainer target: appletsContainer
property:"firstVisibleIndex" property:"firstVisibleIndex"
when: appletsContainer when: appletsContainer
value: { value: {
if (root.inConfigureAppletsMode) { if (updateIsBlocked) {
return; return;
} }
@ -128,7 +154,7 @@ Abilities.AbilityGrid {
property:"lastVisibleIndex" property:"lastVisibleIndex"
when: appletsContainer when: appletsContainer
value: { value: {
if (root.inConfigureAppletsMode) { if (updateIsBlocked) {
return; return;
} }

@ -24,48 +24,75 @@ import org.kde.plasma.core 2.0 as PlasmaCore
AbilityGridPrivate { AbilityGridPrivate {
id: grid id: grid
ability.parabolic.restoreZoomIsBlocked: { //! do not update during dragging/moving applets inConfigureAppletsMode
readonly property bool updateIsBlocked: root.dragOverlay && root.dragOverlay.pressed
for (var i=0; i<grid.children.length; ++i){
var appletItem = grid.children[i]; Binding{
if (appletItem target: ability.require
&& appletItem.communicator property: "restoreZoomIsBlocked"
&& appletItem.communicator.parabolicEffectIsSupported value: {
&& appletItem.communicator.bridge.parabolic.client.restoreZoomIsBlocked) { if (grid.updateIsBlocked) {
return true; return;
}
for (var i=0; i<grid.children.length; ++i){
var appletItem = grid.children[i];
if (appletItem
&& appletItem.communicator
&& appletItem.communicator.parabolicEffectIsSupported
&& appletItem.communicator.bridge.parabolic.client.restoreZoomIsBlocked) {
return true;
}
} }
}
return false; return false;
}
} }
ability.require.windowsTrackingCount: { Binding{
var cnts = 0; target: ability.require
property: "windowsTrackingCount"
value: {
if (grid.updateIsBlocked) {
return;
}
var cnts = 0;
for (var i=0; i<grid.children.length; ++i){ for (var i=0; i<grid.children.length; ++i){
var appletItem = grid.children[i]; var appletItem = grid.children[i];
if (appletItem if (appletItem
&& appletItem.communicator && appletItem.communicator
&& appletItem.communicator.requires.windowsTrackingEnabled) { && appletItem.communicator.requires.windowsTrackingEnabled) {
cnts = cnts + 1; cnts = cnts + 1;
}
} }
}
return cnts; return cnts;
}
} }
ability.require.maxInnerZoomFactor: {
var max = 1.0;
for (var i=0; i<grid.children.length; ++i){ Binding{
var appletItem = grid.children[i]; target: ability.require
if (appletItem property: "maxInnerZoomFactor"
&& appletItem.communicator value: {
&& appletItem.communicator.requires.innerZoomFactor > max) { if (grid.updateIsBlocked) {
max = appletItem.communicator.requires.innerZoomFactor; return;
} }
}
return max; var max = 1.0;
for (var i=0; i<grid.children.length; ++i){
var appletItem = grid.children[i];
if (appletItem
&& appletItem.communicator
&& appletItem.communicator.requires.innerZoomFactor > max) {
max = appletItem.communicator.requires.innerZoomFactor;
}
}
return max;
}
} }
} }

@ -543,7 +543,7 @@ Item {
return; return;
} }
if (!inConfigureAppletsMode){ if (root.editMode/*!inConfigureAppletsMode*/){
if (panelUserSetAlignment===LatteCore.Types.Justify) { if (panelUserSetAlignment===LatteCore.Types.Justify) {
addInternalViewSplitters(); addInternalViewSplitters();
splitMainLayoutToLayouts(); splitMainLayoutToLayouts();
@ -551,12 +551,6 @@ Item {
joinLayoutsToMainLayout(); joinLayoutsToMainLayout();
root.destroyInternalViewSplitters(); root.destroyInternalViewSplitters();
} }
} else {
if (panelUserSetAlignment===LatteCore.Types.Justify) {
addInternalViewSplitters();
} else {
root.destroyInternalViewSplitters();
}
} }
LayoutManager.save(); LayoutManager.save();
@ -827,7 +821,7 @@ Item {
if (internalViewSplittersCount() === 0) { if (internalViewSplittersCount() === 0) {
addInternalViewSplitter(plasmoid.configuration.splitterPosition); addInternalViewSplitter(plasmoid.configuration.splitterPosition);
addInternalViewSplitter(plasmoid.configuration.splitterPosition2); addInternalViewSplitter(plasmoid.configuration.splitterPosition2);
} }
} }
function addInternalViewSplitter(pos){ function addInternalViewSplitter(pos){
@ -839,9 +833,9 @@ Item {
container.visible = true; container.visible = true;
if(pos>=0 ){ if(pos>=0 ){
LayoutManager.insertAtIndex(container, pos); LayoutManager.insertAtIndex(layoutsContainer.mainLayout, container, pos);
} else { } else {
LayoutManager.insertAtIndex(container, Math.floor(layoutsContainer.mainLayout.count / 2)); LayoutManager.insertAtIndex(layoutsContainer.mainLayout, container, Math.floor(layoutsContainer.mainLayout.count / 2));
} }
} }
} }
@ -1118,6 +1112,14 @@ Item {
layoutsContainer.updateSizeForAppletsInFill(); layoutsContainer.updateSizeForAppletsInFill();
} }
function layoutManagerMoveAppletsOutOfMainLayoutToLayouts() {
if (plasmoid.configuration.alignment !== 10) {
return;
}
splitMainLayoutToLayouts();
}
function splitMainLayoutToLayouts() { function splitMainLayoutToLayouts() {
if (internalViewSplittersCount() === 2) { if (internalViewSplittersCount() === 2) {
console.log("LAYOUTS: Moving applets from MAIN to THREE Layouts mode..."); console.log("LAYOUTS: Moving applets from MAIN to THREE Layouts mode...");
@ -1136,18 +1138,19 @@ Item {
} }
// console.log("update layouts 1:"+splitter + " - "+splitter2); // console.log("update layouts 1:"+splitter + " - "+splitter2);
for (var i=0; i<=splitter; ++i){ for (var i=0; i<splitter; ++i){
var item = layoutsContainer.mainLayout.children[0]; var item = layoutsContainer.mainLayout.children[0];
item.parent = layoutsContainer.startLayout; item.parent = layoutsContainer.startLayout;
} }
splitter2 = splitter2 - splitter - 1; splitter2 = splitter2 - splitter;
// console.log("update layouts 2:"+splitter + " - "+splitter2); // console.log("update layouts 2:"+splitter + " - "+splitter2);
totalChildren = layoutsContainer.mainLayout.children.length; totalChildren = layoutsContainer.mainLayout.children.length;
for (var i=splitter2+1; i<totalChildren; ++i){
var item = layoutsContainer.mainLayout.children[splitter2+1]; for (var i=totalChildren-1; i>=splitter2+1; --i){
item.parent = layoutsContainer.endLayout; var item = layoutsContainer.mainLayout.children[i];
LayoutManager.insertAtIndex(layoutsContainer.endLayout, item, 0);
} }
} }
} }

Loading…
Cancel
Save