@@ -34,7 +34,7 @@ AbstractTableView::AbstractTableView(QWidget* parent) : QAbstractScrollArea(pare
34
34
memset (&mScrollBarAttributes , 0 , sizeof (mScrollBarAttributes ));
35
35
horizontalScrollBar ()->setRange (0 , 0 );
36
36
horizontalScrollBar ()->setPageStep (650 );
37
-
37
+ mMouseWheelScrollDelta = 4 ;
38
38
setMouseTracking (true );
39
39
40
40
// Signals/Slots Connections
@@ -376,17 +376,18 @@ void AbstractTableView::mouseReleaseEvent(QMouseEvent* event)
376
376
*/
377
377
void AbstractTableView::wheelEvent (QWheelEvent* event)
378
378
{
379
- // qDebug() << "wheelEvent";
379
+ int numDegrees = event->delta () / 8 ;
380
+ int numSteps = numDegrees / 15 ;
380
381
381
- if (event-> delta () > 0 )
382
+ if (numSteps > 0 )
382
383
{
383
- verticalScrollBar ()-> triggerAction (QAbstractSlider::SliderSingleStepSub);
384
- verticalScrollBar ()->triggerAction (QAbstractSlider::SliderSingleStepSub);
384
+ for ( int i = 0 ; i < mMouseWheelScrollDelta * numSteps; i++)
385
+ verticalScrollBar ()->triggerAction (QAbstractSlider::SliderSingleStepSub);
385
386
}
386
387
else
387
388
{
388
- verticalScrollBar ()-> triggerAction (QAbstractSlider::SliderSingleStepAdd);
389
- verticalScrollBar ()->triggerAction (QAbstractSlider::SliderSingleStepAdd);
389
+ for ( int i = 0 ; i < mMouseWheelScrollDelta * numSteps * - 1 ; i++)
390
+ verticalScrollBar ()->triggerAction (QAbstractSlider::SliderSingleStepAdd);
390
391
}
391
392
}
392
393
@@ -496,7 +497,9 @@ void AbstractTableView::vertSliderActionSlot(int action)
496
497
497
498
// Call the hook (Usefull for disassembly)
498
499
mTableOffset = sliderMovedHook (action, mTableOffset , wDelta);
499
- emit tableOffsetChanged (mTableOffset );
500
+
501
+ // this emit causes massive lag in the GUI
502
+ // emit tableOffsetChanged(mTableOffset);
500
503
501
504
// Scale the new table offset to the 32bits scrollbar range
502
505
#ifdef _WIN64
@@ -505,7 +508,8 @@ void AbstractTableView::vertSliderActionSlot(int action)
505
508
wNewScrollBarValue = mTableOffset ;
506
509
#endif
507
510
508
- emit repainted ();
511
+ // this emit causes massive lag in the GUI
512
+ // emit repainted();
509
513
510
514
// Update scrollbar attributes
511
515
verticalScrollBar ()->setValue (wNewScrollBarValue);
0 commit comments