//______________________________________________ void ScrollBarData::hoverMoveEvent( QObject* object, QEvent* event ) { // try cast object to scrollbar QScrollBar* scrollBar( qobject_cast<QScrollBar*>( object ) ); if( !scrollBar || scrollBar->isSliderDown() ) return; // retrieve scrollbar option QStyleOptionSlider opt( qt_qscrollbarStyleOption( scrollBar ) ); // cast event QHoverEvent *hoverEvent = static_cast<QHoverEvent*>(event); QStyle::SubControl hoverControl = scrollBar->style()->hitTestComplexControl(QStyle::CC_ScrollBar, &opt, hoverEvent->pos(), scrollBar); // update hover state updateAddLineArrow( hoverControl ); updateSubLineArrow( hoverControl ); // store position _position = hoverEvent->pos(); }
//______________________________________________ void ScrollBarData::hoverLeaveEvent( QObject*, QEvent* ) { // reset hover state updateSubLineArrow( QStyle::SC_None ); updateAddLineArrow( QStyle::SC_None ); // reset mouse position _position = QPoint( -1, -1 ); }
//______________________________________________ void ScrollBarData::hoverLeaveEvent( QObject* object, QEvent* event ) { Q_UNUSED( object ); Q_UNUSED( event ); // reset hover state updateSubLineArrow( QStyle::SC_None ); updateAddLineArrow( QStyle::SC_None ); // reset mouse position _position = QPoint( -1, -1 ); }