kopia lustrzana https://gitlab.com/eliggett/wfview
FLoating point scroll wheel support added.
rodzic
a1ef2a99d3
commit
a35155d418
26
freqctrl.cpp
26
freqctrl.cpp
|
@ -536,8 +536,29 @@ void freqCtrl::wheelEvent(QWheelEvent *event)
|
|||
QPointF pt = event->position();
|
||||
#endif
|
||||
int delta = m_InvertScrolling ? -event->angleDelta().y() : event->angleDelta().y();
|
||||
int numDegrees = delta / 8;
|
||||
int numSteps = numDegrees / 15;
|
||||
qreal numDegrees = delta / 8;
|
||||
qreal offset = numDegrees / 15;
|
||||
|
||||
|
||||
qreal stepsToScroll = QApplication::wheelScrollLines() * offset;
|
||||
|
||||
if( (scrollWheelOffsetAccumulated > 0) && (offset > 0) ) {
|
||||
scrollWheelOffsetAccumulated += stepsToScroll;
|
||||
} else if ((scrollWheelOffsetAccumulated < 0) && (offset < 0)) {
|
||||
scrollWheelOffsetAccumulated += stepsToScroll;
|
||||
} else {
|
||||
// Changed direction, zap the old accumulation:
|
||||
scrollWheelOffsetAccumulated = stepsToScroll;
|
||||
//qInfo() << "Scroll changed direction";
|
||||
}
|
||||
|
||||
int numSteps = int(scrollWheelOffsetAccumulated);
|
||||
|
||||
if(!numSteps) {
|
||||
// we have not accumulated enough for a complete step.
|
||||
// come back later.
|
||||
return;
|
||||
}
|
||||
|
||||
for (int i = m_DigStart; i < m_NumDigits; i++)
|
||||
{
|
||||
|
@ -549,6 +570,7 @@ void freqCtrl::wheelEvent(QWheelEvent *event)
|
|||
decFreq();
|
||||
}
|
||||
}
|
||||
scrollWheelOffsetAccumulated = 0;
|
||||
}
|
||||
|
||||
void freqCtrl::keyPressEvent(QKeyEvent *event)
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include <QFrame>
|
||||
#include <QImage>
|
||||
#include <QtGui>
|
||||
#include <QApplication>
|
||||
|
||||
enum FctlUnit {
|
||||
FCTL_UNIT_NONE, // Freq displayed without unit: 14.236.000
|
||||
|
@ -110,6 +111,10 @@ private:
|
|||
int m_DecPos;
|
||||
int m_NumSeps;
|
||||
|
||||
int scrollYperClick = 24;
|
||||
int scrollXperClick = 24;
|
||||
qreal scrollWheelOffsetAccumulated=0;
|
||||
|
||||
qint64 m_MinStep;
|
||||
qint64 m_freq;
|
||||
qint64 m_Oldfreq;
|
||||
|
|
Ładowanie…
Reference in New Issue