@ -446,6 +446,12 @@ DragDrop.DropArea {
}
}
onDockContainsMouseChanged: {
if ( ! dockContainsMouse ) {
initializeHoveredIndexes ( ) ;
}
}
onDragEnter: {
if ( plasmoid . immutable ) {
event . ignore ( ) ;
@ -875,8 +881,8 @@ DragDrop.DropArea {
}
function clearZoom ( ) {
layoutsContainer . currentSpot = - 1000 ;
layoutsContainer . hoveredIndex = - 1 ;
/ / l a y o u t s C o n t a i n e r . c u r r e n t S p o t = - 1 0 0 0 ;
/ / l a y o u t s C o n t a i n e r . h o v e r e d I n d e x = - 1 ;
if ( latteApplet ) {
latteApplet . clearZoom ( ) ;
@ -931,6 +937,13 @@ DragDrop.DropArea {
return splitters ;
}
function initializeHoveredIndexes ( ) {
layoutsContainer . hoveredIndex = - 1 ;
layoutsContainer . currentSpot = - 1000 ;
if ( latteApplet ) {
latteApplet . initializeHoveredIndex ( ) ;
}
}
function mouseInCanBeHoveredApplet ( ) {
if ( latteApplet && latteApplet . containsMouse ( ) )
@ -1248,7 +1261,7 @@ DragDrop.DropArea {
if ( ! dock . contextMenuIsShown ) {
checkRestoreZoom . start ( ) ;
} else {
root . globalDirectRender = false ;
root . setGlobalDirectRender( false ) ;
}
}
}
@ -1414,6 +1427,8 @@ DragDrop.DropArea {
anchors.fill: parent
hoverEnabled: true
onEntered: {
initializeHoveredIndexes ( ) ;
if ( ! root . editMode )
checkRestoreZoom . start ( ) ;
}
@ -1507,8 +1522,7 @@ DragDrop.DropArea {
/ / T i m e r t o c h e c k i f t h e m o u s e i s s t i l l o u t s i d e t h e d o c k i n o r d e r t o r e s t o r e z o o m s t o 1 . 0
Timer {
id:checkRestoreZoom
repeat: false ;
interval: 150 ;
interval: 25
onTriggered: {
if ( latteApplet && ( latteApplet . previewContainsMouse ( ) || latteApplet . contextMenu ) )
@ -1539,13 +1553,14 @@ DragDrop.DropArea {
/ / d u r i n g f i r s t h o v e r i n g p h a s e
Timer {
id: enableDirectRenderTimer
interval: 4 * root . durationTime * units . shortDuratio n
interval: checkRestoreZoom . interval / / 4 * r o o t . d u r a t i o n T i m e * u n i t s . s h o r t D u r a t i o n
onTriggered: {
if ( latteApplet && latteApplet . waitingLaunchers . length > 0 )
return ;
if ( dock . visibility . containsMouse )
root . globalDirectRender = true ;
if ( dock . visibility . containsMouse && ! rootMouseArea . containsMouse ) {
setGlobalDirectRender ( true ) ;
}
if ( root . debugModeTimers ) {
console . log ( "containment timer: enableDirectRenderTimer called..." ) ;