@@ -136,6 +136,8 @@ void KeysView::middleMove(const QPointF &movePos) {
136136 const int roundX = qRound (diffFrame);
137137 setFramesRange ({mSavedMinViewedFrame - roundX,
138138 mSavedMaxViewedFrame - roundX});
139+
140+ emit changedViewedFrames ({mMinViewedFrame , mMaxViewedFrame });
139141}
140142
141143void KeysView::deleteSelectedKeys () {
@@ -239,10 +241,16 @@ void KeysView::wheelEvent(QWheelEvent *e)
239241 if (mPanEvent ) { emit panEventSignal (e); }
240242 }
241243#endif
244+
245+ const QPoint pos = e->pos ();
246+ const QPoint posU = pos + QPoint (-eSizesUI::widget/2 , 0 );
247+ const qreal currentHoverFrame = static_cast <qreal>(posU.x ()) / mPixelsPerFrame + mMinViewedFrame ;
248+ // qDebug() << "currentHoverFrame" << currentHoverFrame;
249+
242250 if (mGraphViewed ) {
243- if (!mPanEvent ) { graphWheelEvent (e); }
251+ if (!mPanEvent ) { graphWheelEvent (e, currentHoverFrame ); }
244252 } else {
245- if (!mPanEvent ) { emit wheelEventSignal (e); }
253+ if (!mPanEvent ) { emit wheelEventSignal (e, currentHoverFrame ); }
246254 if (mSelecting ) {
247255 const QPointF posU = mapFromGlobal (QCursor::pos ()) +
248256 QPointF (-eSizesUI::widget/2 , 0 .);
@@ -507,7 +515,12 @@ bool KeysView::event(QEvent *e)
507515 auto g = dynamic_cast <QNativeGestureEvent*>(e);
508516 if (g->gestureType () == Qt::ZoomNativeGesture ||
509517 g->gestureType () == Qt::SmartZoomNativeGesture) {
510- emit nativeEventSignal (g);
518+ const QPoint globalMousePos = QCursor::pos ();
519+ const QPoint localMousePos = mapFromGlobal (globalMousePos);
520+ const QPoint posU = localMousePos + QPoint (-eSizesUI::widget/2 , 0 );
521+ const qreal currentHoverFrame = static_cast <qreal>(posU.x ()) / mPixelsPerFrame + mMinViewedFrame ;
522+ // qDebug() << "currentHoverFrame" << currentHoverFrame;
523+ emit nativeEventSignal (g, currentHoverFrame);
511524 return true ;
512525 }
513526 }
0 commit comments