@ -100,6 +100,11 @@ DragDrop.DropArea {
property bool blurEnabled: plasmoid . configuration . blurEnabled && ( ! forceTransparentPanel || forcePanelForBusyBackground )
property bool blurEnabled: plasmoid . configuration . blurEnabled && ( ! forceTransparentPanel || forcePanelForBusyBackground )
property bool confirmedDragEntered: false
property bool confirmedDragEntered: false
property bool dragIsTask: false
property bool dragIsSeparator: false
property bool dragIsLatteTasks: false
property bool dragOnlyLaunchers: false
property bool containsOnlyPlasmaTasks: false / / t h i s i s f l a g t o i n d i c a t e w h e n f r o m t a s k s o n l y a p l a s m a b a s e d o n e i s f o u n d
property bool containsOnlyPlasmaTasks: false / / t h i s i s f l a g t o i n d i c a t e w h e n f r o m t a s k s o n l y a p l a s m a b a s e d o n e i s f o u n d
property bool dockContainsMouse: latteView && latteView . visibility ? latteView.visibility.containsMouse : false
property bool dockContainsMouse: latteView && latteView . visibility ? latteView.visibility.containsMouse : false
@ -661,26 +666,39 @@ DragDrop.DropArea {
}
}
onDragEnter: {
onDragEnter: {
if ( plasmoid . immutable || dockIsHidden || visibilityManager . inSlidingIn || visibilityManager . inSlidingOut ) {
var isTask = event !== undefined
event . ignore ( ) ;
&& event . mimeData !== undefined
return ;
&& event . mimeData . formats !== undefined
}
&& event . mimeData . formats . indexOf ( "application/x-orgkdeplasmataskmanager_taskbuttonitem" ) >= 0 ;
var isSeparator = event !== undefined
&& event . mimeData !== undefined
&& ( latteView . mimeContainsPlasmoid ( event . mimeData , "audoban.applet.separator" )
|| latteView . mimeContainsPlasmoid ( event . mimeData , "org.kde.latte.separator" ) ) ;
var isLatteTasks = event !== undefined
&& event . mimeData !== undefined
&& latteView . mimeContainsPlasmoid ( event . mimeData , "org.kde.latte.plasmoid" ) ;
if ( event . mimeData . formats . indexOf ( "application/x-orgkdeplasmataskmanager_taskbuttonitem" ) >= 0 ) {
dragIsTask = isTask ;
dragIsSeparator = isSeparator ;
dragIsLatteTasks = isLatteTasks ;
if ( dragIsTask || plasmoid . immutable || dockIsHidden || visibilityManager . inSlidingIn || visibilityManager . inSlidingOut ) {
event . ignore ( ) ;
return ;
return ;
}
}
if ( latteApplet ) {
if ( latteApplet ) {
if ( latteApplet . launchersDrop ( event ) ) {
dragOnlyLaunchers = latteApplet . launchersDrop ( event ) ;
if ( dragOnlyLaunchers ) {
root . addLaunchersMessage = true ;
root . addLaunchersMessage = true ;
if ( root . addLaunchersInTaskManager ) {
if ( root . addLaunchersInTaskManager ) {
return ;
return ;
}
}
} else {
} else {
var isSeparator = ( latteView . mimeContainsPlasmoid ( event . mimeData , "audoban.applet.separator" )
if ( dragIsSeparator && root . latteAppletContainer . containsPos ( event ) ) {
|| latteView . mimeContainsPlasmoid ( event . mimeData , "org.kde.latte.separator" ) ) ;
if ( isSeparator && root . latteAppletContainer . containsPos ( event ) ) {
confirmedDragEntered = true
confirmedDragEntered = true
dndSpacer . opacity = 0 ;
dndSpacer . opacity = 0 ;
dndSpacer . parent = root ;
dndSpacer . parent = root ;
@ -694,29 +712,25 @@ DragDrop.DropArea {
slotAnimationsNeedLength ( 1 ) ;
slotAnimationsNeedLength ( 1 ) ;
}
}
if ( ! latteApplet || ( latteApplet && ! latteView. mimeContainsPlasmoid ( event . mimeData , "org.kde.latte.plasmoid" ) ) ) {
if ( ! latteApplet || ( latteApplet && ! dragIsLatteTasks ) ) {
LayoutManager . insertAtCoordinates2 ( dndSpacer , event . x , event . y )
LayoutManager . insertAtCoordinates2 ( dndSpacer , event . x , event . y )
dndSpacer . opacity = 1 ;
dndSpacer . opacity = 1 ;
}
}
}
}
onDragMove: {
onDragMove: {
if ( event . mimeData . formats . indexOf ( "application/x-orgkdeplasmataskmanager_taskbuttonitem" ) >= 0
if ( dragIsTask ) {
|| dockIsHidden || visibilityManager . inSlidingIn || visibilityManager . inSlidingOut ) {
return ;
return ;
}
}
if ( latteApplet ) {
if ( latteApplet ) {
if ( latteApplet. launchersDrop ( event ) ) {
if ( dragOnlyLaunchers ) {
root . addLaunchersMessage = true ;
root . addLaunchersMessage = true ;
if ( root . addLaunchersInTaskManager ) {
if ( root . addLaunchersInTaskManager ) {
return ;
return ;
}
}
} else {
} else {
var isSeparator = ( latteView . mimeContainsPlasmoid ( event . mimeData , "audoban.applet.separator" )
if ( dragIsSeparator && root . latteAppletContainer . containsPos ( event ) ) {
|| latteView . mimeContainsPlasmoid ( event . mimeData , "org.kde.latte.separator" ) ) ;
if ( isSeparator && root . latteAppletContainer . containsPos ( event ) ) {
confirmedDragEntered = true
confirmedDragEntered = true
dndSpacer . opacity = 0 ;
dndSpacer . opacity = 0 ;
dndSpacer . parent = root ;
dndSpacer . parent = root ;
@ -725,13 +739,17 @@ DragDrop.DropArea {
}
}
}
}
if ( ! latteApplet || ( latteApplet && ! latteView. mimeContainsPlasmoid ( event . mimeData , "org.kde.latte.plasmoid" ) ) ) {
if ( ! latteApplet || ( latteApplet && ! dragIsLatteTasks ) ) {
LayoutManager . insertAtCoordinates2 ( dndSpacer , event . x , event . y )
LayoutManager . insertAtCoordinates2 ( dndSpacer , event . x , event . y )
dndSpacer . opacity = 1 ;
dndSpacer . opacity = 1 ;
}
}
}
}
onDragLeave: {
onDragLeave: {
dragIsTask = false ;
dragIsSeparator = false ;
dragIsLatteTasks = false ;
dragOnlyLaunchers = false ;
if ( confirmedDragEntered ) {
if ( confirmedDragEntered ) {
slotAnimationsNeedLength ( - 1 ) ;
slotAnimationsNeedLength ( - 1 ) ;
@ -744,17 +762,15 @@ DragDrop.DropArea {
}
}
onDrop: {
onDrop: {
if ( d ockIsHidden || visibilityManager . inSlidingIn || visibilityManager . inSlidingOut ) {
if ( d ragIsTask || d ockIsHidden || visibilityManager . inSlidingIn || visibilityManager . inSlidingOut ) {
return ;
return ;
}
}
if ( event . mimeData . formats . indexOf ( "application/x-orgkdeplasmataskmanager_taskbuttonitem" ) < 0 ) {
if ( latteApplet && dragOnlyLaunchers && root . addLaunchersInTaskManager ) {
if ( latteApplet && latteApplet . launchersDrop ( event ) && root . addLaunchersInTaskManager ) {
latteApplet . launchersDropped ( event . mimeData . urls ) ;
latteApplet . launchersDropped ( event . mimeData . urls ) ;
} else if ( ! latteApplet || ( latteApplet && ! dragIsLatteTasks ) ) {
} else if ( ! latteApplet || ( latteApplet && ! latteView . mimeContainsPlasmoid ( event . mimeData , "org.kde.latte.plasmoid" ) ) ) {
plasmoid . processMimeData ( event . mimeData , event . x , event . y ) ;
plasmoid . processMimeData ( event . mimeData , event . x , event . y ) ;
event . accept ( event . proposedAction ) ;
event . accept ( event . proposedAction ) ;
}
}
}
if ( confirmedDragEntered ) {
if ( confirmedDragEntered ) {