drop internalSeparatorHidden from parabolicManager

--improvements for new separators architecture
pull/2/head
Michail Vourlakos 7 years ago
parent ae8669169b
commit 63fa3c4b1d

@ -34,19 +34,7 @@ Item{
property bool neighbourSeparator: false;
//in case there is a neighbour internal separator
property int separatorSpace: ((root.latteApplet && root.latteApplet.hasInternalSeparator && !root.latteApplet.internalSeparatorHidden
&& neighbourTaskInternalSeparator) || neighbourSeparator)
&& !container.isSeparator && !container.latteApplet ? (2+root.iconMargin/2) : 0
property bool neighbourTaskInternalSeparator: {
if (!root.latteApplet){
return false;
}
return rightSpacer ? root.latteApplet.internalSeparatorPos === 0 && index===root.latteAppletPos-1 :
root.latteApplet.internalSeparatorPos === root.tasksCount-1 && index===root.latteAppletPos+1;
}
property int separatorSpace: neighbourSeparator && !container.isSeparator && !container.latteApplet ? (2+root.iconMargin/2) : 0
property real nHiddenSize: (nScale > 0) ? (container.spacersMaxSize * nScale) + separatorSpace : separatorSpace

@ -29,9 +29,11 @@ Item {
id: parManager
property bool hasInternalSeparator: false
property bool internalSeparatorHidden: (internalSeparatorPos === 0) || (internalSeparatorPos === root.tasksCount - 1)
property int internalSeparatorPos: -1
property int firstRealTaskIndex: -1
property int lastRealTaskIndex: -1
//tasks that change state (launcher,startup,window) and
//at the next state must look the same
//(id, mScale)
@ -289,9 +291,16 @@ Item {
updated = true;
}
//if (separators.length > 0)
// console.log(separators[0].launcherUrl+ " _________ " + separators[0].index);
if (updated) {
//console.log("message sent...");
hasInternalSeparator = separators.length > 0;
internalSeparatorPos = hasInternalSeparator ? separators[0].index : -1;
firstRealTaskIndex = firstRealTask();
lastRealTaskIndex = lastRealTask();
root.separatorsUpdated();
}
}
@ -329,9 +338,46 @@ Item {
return (launcher.indexOf("latte-separator")!==-1 && launcher.indexOf(".desktop")!==1);
}
function taskIsSeparator(index){
var child = icList.childAtIndex(index);
function taskIsSeparator(taskIndex){
for (var i=0; i<separators.length; ++i) {
if (separators[i].index === taskIndex)
return true;
}
return false;
}
//! first available task index found after consequent internal separators in the start
function firstRealTask() {
if (hasInternalSeparator) {
var i=0;
while (i<=root.tasksCount-1) {
if (!taskIsSeparator(i)) {
return i;
}
i = i + 1;
}
}
return -1;
}
//! last available task index found after consequent internal separators in the end
function lastRealTask() {
if (hasInternalSeparator) {
var i=root.tasksCount - 1;
while (i>=0) {
if (!taskIsSeparator(i)) {
return i;
}
i = i - 1;
}
}
return (child !== undefined ? child.isSeparator : false);
return -1;
}
}

@ -61,7 +61,6 @@ Item {
property bool disableRestoreZoom: false //blocks restore animation in rightClick
property bool dropNewLauncher: false
readonly property bool hasInternalSeparator: parabolicManager.hasInternalSeparator
readonly property bool internalSeparatorHidden: parabolicManager.internalSeparatorHidden
property bool inActivityChange: false
property bool initializationStep: false //true
property bool initializatedBuffers: true // noInitCreatedBuffers >= tasksStarting ? true : false

@ -239,7 +239,9 @@ MouseArea{
anchors.top: root.position === PlasmaCore.Types.TopPositioned ? parent.top : undefined;
anchors.bottom: root.position === PlasmaCore.Types.BottomPositioned ? parent.bottom : undefined;
opacity: separatorShadow.active || root.internalSeparatorHidden ? 0 : 0.4
//opacity: separatorShadow.active || root.internalSeparatorHidden ? 0 : 0.4
opacity: separatorShadow.active ? 0 : 0.4
visible: mainItemContainer.isSeparator
width: root.vertical ? root.iconSize : (root.dragSource) ? 5+root.iconMargin: 1
@ -272,7 +274,8 @@ MouseArea{
id: separatorShadow
anchors.fill: separatorItem
active: root.enableShadows && isSeparator
opacity: root.internalSeparatorHidden ? 0 : 0.4
//opacity: root.internalSeparatorHidden ? 0 : 0.4
opacity: 0.4
Behavior on opacity {
NumberAnimation { duration: root.durationTime*units.longDuration }

@ -35,10 +35,8 @@ Item{
//in case there is a neighbour separator, lastValidIndex is used in order to protect from false
//when the task is removed
property int indexUsed: index === -1 ? lastValidIndex : index
property int separatorSpace: ((parabolicManager.internalSeparatorPos !== -1
&& !root.internalSeparatorHidden
&& parabolicManager.internalSeparatorPos === (rightSpacer ? indexUsed + 1 : indexUsed-1))
|| neighbourSeparator) && !isSeparator && !showWindowAnimation.running ?
property int separatorSpace: neighbourSeparator && !isSeparator && !showWindowAnimation.running
&& !(parabolicManager.hasInternalSeparator && root.dragSource) ?
(2+root.iconMargin/2) : 0
property bool rightSpacer: false
@ -57,23 +55,27 @@ Item{
//index===-1 indicates that this item is removed
if (latteDock && index!==-1) {
if (!rightSpacer) {
hiddenSpacer.neighbourSeparator = (latteDock.parabolicManager.isSeparator(latteDock.latteAppletPos-1)
&& (indexUsed===0 || (indexUsed===1 && root.internalSeparatorPos===0 && root.internalSeparatorHidden)))
|| (parabolicManager.taskIsSeparator(itemIndex-1) && !isSeparator);
neighbourSeparator = (parabolicManager.taskIsSeparator(itemIndex-1) && !isSeparator)
|| (latteDock.parabolicManager.isSeparator(latteDock.latteAppletPos-1) && parabolicManager.firstRealTaskIndex === itemIndex);
} else {
hiddenSpacer.neighbourSeparator = (latteDock.parabolicManager.isSeparator(latteDock.latteAppletPos+1)
&& ( indexUsed===root.tasksCount-1 || (indexUsed===root.tasksCount-2 && indexUsed>=0
&& root.internalSeparatorPos===root.tasksCount-1
&& root.internalSeparatorHidden)))
|| (parabolicManager.taskIsSeparator(itemIndex+1));
neighbourSeparator = (parabolicManager.taskIsSeparator(itemIndex+1) && !isSeparator)
|| (latteDock.parabolicManager.isSeparator(latteDock.latteAppletPos+1) && parabolicManager.lastRealTaskIndex === itemIndex );
}
/* if (launcherUrl.indexOf("kwrite") > -1 || launcherUrl.indexOf("dolphin") > -1 ) {
var spacerName = "left";
if (rightSpacer)
spacerName = "right";
console.log(launcherUrl +":" + itemIndex +"," + spacerName + " _-_- " +neighbourSeparator);
}*/
}
}
Connections{
target: root
onLatteDockChanged: hiddenSpacer.updateNeighbour();
onInternalSeparatorHiddenChanged: hiddenSpacer.updateNeighbour();
// onInternalSeparatorHiddenChanged: hiddenSpacer.updateNeighbour();
onSeparatorsUpdated: hiddenSpacer.updateNeighbour();
}
@ -110,7 +112,7 @@ Item{
NumberAnimation { duration: root.directRenderAnimationTime }
}
/*Rectangle{
Rectangle{
width: !root.vertical ? parent.width : 1
height: !root.vertical ? 1 : parent.height
x: root.vertical ? parent.width /2 : 0
@ -118,5 +120,5 @@ Item{
border.width: 1
border.color: "red"
color: "transparent"
}*/
}
}

Loading…
Cancel
Save