@ -88,6 +88,7 @@ MouseArea{
property bool inBouncingAnimation: false
property bool inPopup: false
property bool inRemoveStage: false
property bool inWheelAction: false
property bool isActive: ( IsActive === true ) ? true : false
property bool isDemandingAttention: ( IsDemandingAttention === true ) ? true : false
@ -767,7 +768,7 @@ MouseArea{
}
onWheel: {
if ( isSeparator || ! root . mouseWheelActions
if ( isSeparator || ! root . mouseWheelActions || inWheelAction || inBouncingAnimation
|| ( latteDock && ( latteDock . dockIsHidden || latteDock . inSlidingIn || latteDock . inSlidingOut ) ) ) {
return ;
}
@ -778,28 +779,35 @@ MouseArea{
if ( angle > 12 ) {
if ( isLauncher ) {
mouseEntered = false ;
inWheelAction = true ;
wrapper . runLauncherAnimation ( ) ;
} else if ( isGroupParent ) {
tasksWindows . activateNextTask ( ) ;
} else {
tasksModel . requestActivate ( modelIndex ( ) ) ;
var taskIndex = modelIndex ( ) ;
if ( isMinimized ) {
inWheelAction = true ;
tasksModel . requestToggleMinimized ( taskIndex ) ;
wheelActionDelayer . start ( ) ;
}
tasksModel . requestActivate ( taskIndex ) ;
}
/ / n e g a t i v e d i r e c t i o n
} else if ( angle < 12 ) {
if ( isLauncher ) {
/ / m o u s e E n t e r e d = f a l s e ;
/ / w r a p p e r . r u n L a u n c h e r A n i m a t i o n ( ) ;
/ / d o n o t h i n g
} else if ( isGroupParent ) {
tasksWindows . activatePreviousTask ( ) ;
} else {
if ( IsMinimized === true ) {
/ * v a r i = m o d e l I n d e x ( ) ;
tasksModel . requestToggleMinimized ( i ) ;
tasksModel . requestActivate ( i ) ; * /
} else if ( IsActive === true ) {
tasksModel . requestToggleMinimized ( modelIndex ( ) ) ;
if ( isMinimized ) {
/ / d o n o t h i n g
} else {
tasksModel . requestActivate ( modelIndex ( ) ) ;
var taskIndex = modelIndex ( ) ;
inWheelAction = true ;
tasksModel . requestToggleMinimized ( taskIndex ) ;
wheelActionDelayer . start ( ) ;
}
}
}
@ -1346,6 +1354,15 @@ MouseArea{
}
}
/ / T h e b e s t s o l u t i o n i n o r d e r t o c a t c h w h e n t h e w h e e l a c t i o n e n d e d i s t o
/ / t r a c k t h e i s M i n i m i z e d s t a t e , b u t w h e n t h e u s e r h a s e n a b l e d w i n d o w p r e v i e w s
/ / a t a l l t i m e s t h a t f l a g d o e s n t w o r k
Timer {
id: wheelActionDelayer
interval: 200
onTriggered: mainItemContainer . inWheelAction = false ;
}
/ / / I t e m ' s R e m o v a l A n i m a t i o n
ListView.onRemove: TaskAnimations . TaskRealRemovalAnimation { id: taskRealRemovalAnimation }