Added click-drag tuning. Needs refinement but it's a start.

knobtest
Elliott Liggett 2022-09-26 11:53:56 -07:00
rodzic 0c530303c7
commit 65b4a9cc17
2 zmienionych plików z 33 dodań i 1 usunięć

Wyświetl plik

@ -724,6 +724,8 @@ void wfmain::setupPlots()
connect(wf, SIGNAL(mouseDoubleClick(QMouseEvent*)), this, SLOT(handleWFDoubleClick(QMouseEvent*)));
connect(plot, SIGNAL(mousePress(QMouseEvent*)), this, SLOT(handlePlotClick(QMouseEvent*)));
connect(wf, SIGNAL(mousePress(QMouseEvent*)), this, SLOT(handleWFClick(QMouseEvent*)));
connect(plot, SIGNAL(mouseRelease(QMouseEvent*)), this, SLOT(handlePlotMouseRelease(QMouseEvent*)));
connect(plot, SIGNAL(mouseMove(QMouseEvent*)), this, SLOT(handlePlotMouseMove(QMouseEvent *)));
connect(wf, SIGNAL(mouseWheel(QWheelEvent*)), this, SLOT(handleWFScroll(QWheelEvent*)));
connect(plot, SIGNAL(mouseWheel(QWheelEvent*)), this, SLOT(handlePlotScroll(QWheelEvent*)));
spectrumDrawLock = false;
@ -3969,6 +3971,31 @@ void wfmain::handlePlotClick(QMouseEvent *me)
{
double x = plot->xAxis->pixelToCoord(me->pos().x());
showStatusBarText(QString("Selected %1 MHz").arg(x));
this->mousePressFreq = x;
}
void wfmain::handlePlotMouseRelease(QMouseEvent *me)
{
this->mouseReleaseFreq = plot->xAxis->pixelToCoord(me->pos().x());
double delta = mouseReleaseFreq - mousePressFreq;
qInfo(logGui()) << "Mouse release delta: " << delta;
}
void wfmain::handlePlotMouseMove(QMouseEvent *me)
{
if(me->buttons() == Qt::LeftButton)
{
double delta = plot->xAxis->pixelToCoord(me->pos().x()) - mousePressFreq;
qInfo(logGui()) << "Mouse moving delta: " << delta;
if( (( delta < -0.0001 ) || (delta > 0.0001)) && ((delta < 0.501) && (delta > -0.501)) )
{
freqt freqGo;
freqGo.Hz = ( freq.MHzDouble + delta)*1E6;
//freqGo.Hz = roundFrequency(freqGo.Hz, tsWfScrollHz);
freqGo.MHzDouble = (float)freqGo.Hz / 1E6;
issueCmdUniquePriority(cmdSetFreq, freqGo);
}
}
}
void wfmain::handleWFClick(QMouseEvent *me)
@ -5311,7 +5338,7 @@ void wfmain::receivePassband(quint8 pass)
}
passBand = (double)(calc / 1000000.0);
qInfo() << "Got Passband" << passBand << "(" << pass << ")";
qDebug(logGui()) << "Got Passband" << passBand << "(" << pass << ")";
}
void wfmain::receiveMeter(meterKind inMeter, unsigned char level)

Wyświetl plik

@ -283,6 +283,8 @@ private slots:
void receiveStatusUpdate(networkStatus status);
void receiveNetworkAudioLevels(networkAudioLevels l);
void handlePlotClick(QMouseEvent *);
void handlePlotMouseRelease(QMouseEvent *);
void handlePlotMouseMove(QMouseEvent *);
void handlePlotDoubleClick(QMouseEvent *);
void handleWFClick(QMouseEvent *);
void handleWFDoubleClick(QMouseEvent *);
@ -787,6 +789,9 @@ private:
double oldPlotCeiling = 999;
double passBand = 0.0;
double mousePressFreq = 0.0;
double mouseReleaseFreq = 0.0;
QVector <QByteArray> wfimage;
unsigned int wfLengthMax;