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();
|
QPointF pt = event->position();
|
||||||
#endif
|
#endif
|
||||||
int delta = m_InvertScrolling ? -event->angleDelta().y() : event->angleDelta().y();
|
int delta = m_InvertScrolling ? -event->angleDelta().y() : event->angleDelta().y();
|
||||||
int numDegrees = delta / 8;
|
qreal numDegrees = delta / 8;
|
||||||
int numSteps = numDegrees / 15;
|
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++)
|
for (int i = m_DigStart; i < m_NumDigits; i++)
|
||||||
{
|
{
|
||||||
|
@ -549,6 +570,7 @@ void freqCtrl::wheelEvent(QWheelEvent *event)
|
||||||
decFreq();
|
decFreq();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
scrollWheelOffsetAccumulated = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void freqCtrl::keyPressEvent(QKeyEvent *event)
|
void freqCtrl::keyPressEvent(QKeyEvent *event)
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#include <QFrame>
|
#include <QFrame>
|
||||||
#include <QImage>
|
#include <QImage>
|
||||||
#include <QtGui>
|
#include <QtGui>
|
||||||
|
#include <QApplication>
|
||||||
|
|
||||||
enum FctlUnit {
|
enum FctlUnit {
|
||||||
FCTL_UNIT_NONE, // Freq displayed without unit: 14.236.000
|
FCTL_UNIT_NONE, // Freq displayed without unit: 14.236.000
|
||||||
|
@ -110,6 +111,10 @@ private:
|
||||||
int m_DecPos;
|
int m_DecPos;
|
||||||
int m_NumSeps;
|
int m_NumSeps;
|
||||||
|
|
||||||
|
int scrollYperClick = 24;
|
||||||
|
int scrollXperClick = 24;
|
||||||
|
qreal scrollWheelOffsetAccumulated=0;
|
||||||
|
|
||||||
qint64 m_MinStep;
|
qint64 m_MinStep;
|
||||||
qint64 m_freq;
|
qint64 m_freq;
|
||||||
qint64 m_Oldfreq;
|
qint64 m_Oldfreq;
|
||||||
|
|
Ładowanie…
Reference in New Issue