diff --git a/kstyle/breeze.kcfg b/kstyle/breeze.kcfg index 7fde09d9..d8456069 100644 --- a/kstyle/breeze.kcfg +++ b/kstyle/breeze.kcfg @@ -100,7 +100,7 @@ - false + true diff --git a/kstyle/breezesplitterproxy.cpp b/kstyle/breezesplitterproxy.cpp index 138adfaa..fa56b021 100644 --- a/kstyle/breezesplitterproxy.cpp +++ b/kstyle/breezesplitterproxy.cpp @@ -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( event ) ); @@ -270,18 +270,18 @@ namespace Breeze if( static_cast( 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 that 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(