@ -220,11 +220,11 @@ namespace Breeze
event - > accept ( ) ;
// grab on mouse press
if ( event - > type ( ) = = QEvent : : MouseButtonPress ) grabMouse ( ) ;
parentWidget ( ) - > setUpdatesEnabled ( false ) ;
resize ( 1 , 1 ) ;
parentWidget ( ) - > setUpdatesEnabled ( true ) ;
if ( event - > type ( ) = = QEvent : : MouseButtonPress )
{
grabMouse ( ) ;
resize ( 1 , 1 ) ;
}
// cast to mouse event
QMouseEvent * mouseEvent ( static_cast < QMouseEvent * > ( event ) ) ;
@ -270,18 +270,18 @@ namespace Breeze
if ( static_cast < QTimerEvent * > ( event ) - > timerId ( ) ! = _timerId )
{ return QWidget : : event ( event ) ; }
if ( mouseGrabber ( ) = = this )
{ return true ; }
/*
Fall through is intended .
We somehow lost a QEvent : : Leave and gonna fix tha t from here
We somehow lost a QEvent : : Leave before timeout . We fix it from here
*/
case QEvent : : HoverLeave :
case QEvent : : Leave :
{
if ( mouseGrabber ( ) = = this )
{ return true ; }
// reset splitter
if ( isVisible ( ) & & ! rect ( ) . contains ( mapFromGlobal ( QCursor : : pos ( ) ) ) )
{ clearSplitter ( ) ; }
@ -308,17 +308,14 @@ namespace Breeze
//
QRect r ( 0 , 0 , 2 * StyleConfigData : : splitterProxyWidth ( ) , 2 * StyleConfigData : : splitterProxyWidth ( ) ) ;
r . moveCenter ( parentWidget ( ) - > mapFromGlobal ( QCursor : : pos ( ) ) ) ;
r . moveCenter ( _hook ) ;
setGeometry ( r ) ;
setCursor ( _splitter . data ( ) - > cursor ( ) . shape ( ) ) ;
raise ( ) ;
show ( ) ;
/*
timer used to automatically hide proxy
in case leave events are lost
*/
// timer used to automatically hide proxy in case leave events are lost
if ( ! _timerId ) _timerId = startTimer ( 150 ) ;
}
@ -338,7 +335,7 @@ namespace Breeze
hide ( ) ;
parentWidget ( ) - > setUpdatesEnabled ( true ) ;
// set hover event
// send hover event
if ( _splitter )
{
QHoverEvent hoverEvent (