kopia lustrzana https://gitlab.com/eliggett/wfview
Allow on-screen adjustment of filter width
rodzic
5c210f0699
commit
efb953a8c9
74
wfmain.cpp
74
wfmain.cpp
|
@ -375,9 +375,9 @@ void wfmain::rigConnections()
|
|||
connect(rig, SIGNAL(haveDTCS(quint16,bool,bool)), rpt, SLOT(handleDTCS(quint16,bool,bool)));
|
||||
connect(rig, SIGNAL(haveRptAccessMode(rptAccessTxRx)), rpt, SLOT(handleRptAccessMode(rptAccessTxRx)));
|
||||
|
||||
|
||||
connect(this, SIGNAL(getDuplexMode()), rig, SLOT(getDuplexMode()));
|
||||
connect(this, SIGNAL(getPassband()), rig, SLOT(getPassband()));
|
||||
connect(this, SIGNAL(setPassband(quint16)), rig, SLOT(setPassband(quint16)));
|
||||
connect(this, SIGNAL(getTone()), rig, SLOT(getTone()));
|
||||
connect(this, SIGNAL(getTSQL()), rig, SLOT(getTSQL()));
|
||||
connect(this, SIGNAL(getRptAccessMode()), rig, SLOT(getRptAccessMode()));
|
||||
|
@ -3514,6 +3514,12 @@ void wfmain::doCmd(commandtype cmddata)
|
|||
emit getBandStackReg(bandStkBand, bandStkRegCode);
|
||||
break;
|
||||
}
|
||||
case cmdSetPassband:
|
||||
{
|
||||
quint16 pass = (*std::static_pointer_cast<quint16>(data));
|
||||
emit setPassband(pass);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
doCmd(cmd);
|
||||
break;
|
||||
|
@ -3879,6 +3885,14 @@ void wfmain::issueCmd(cmds cmd, unsigned char c)
|
|||
delayedCmdQue.push_back(cmddata);
|
||||
}
|
||||
|
||||
void wfmain::issueCmd(cmds cmd, quint16 c)
|
||||
{
|
||||
commandtype cmddata;
|
||||
cmddata.cmd = cmd;
|
||||
cmddata.data = std::shared_ptr<quint16>(new quint16(c));
|
||||
delayedCmdQue.push_back(cmddata);
|
||||
}
|
||||
|
||||
void wfmain::issueCmdUniquePriority(cmds cmd, bool b)
|
||||
{
|
||||
commandtype cmddata;
|
||||
|
@ -3915,6 +3929,15 @@ void wfmain::issueCmdUniquePriority(cmds cmd, freqt f)
|
|||
removeSimilarCommand(cmd);
|
||||
}
|
||||
|
||||
void wfmain::issueCmdUniquePriority(cmds cmd, quint16 c)
|
||||
{
|
||||
commandtype cmddata;
|
||||
cmddata.cmd = cmd;
|
||||
cmddata.data = std::shared_ptr<quint16>(new quint16(c));
|
||||
delayedCmdQue.push_front(cmddata);
|
||||
removeSimilarCommand(cmd);
|
||||
}
|
||||
|
||||
void wfmain::removeSimilarCommand(cmds cmd)
|
||||
{
|
||||
// pop anything out that is of the same kind of command:
|
||||
|
@ -4568,6 +4591,13 @@ void wfmain::handlePlotClick(QMouseEvent* me)
|
|||
{
|
||||
QCPAbstractItem* item = plot->itemAt(me->pos(), true);
|
||||
QCPItemText* textItem = dynamic_cast<QCPItemText*> (item);
|
||||
QCPItemRect* rectItem = dynamic_cast<QCPItemRect*> (item);
|
||||
if (rectItem != nullptr && ((me->pos().x()) == (int)passbandIndicator->right->pixelPosition().x() ||
|
||||
(me->pos().x()) == (int)passbandIndicator->left->pixelPosition().x()))
|
||||
{
|
||||
resizingPassband = true;
|
||||
}
|
||||
|
||||
if (me->button() == Qt::RightButton && textItem != nullptr) {
|
||||
QMap<QString, spotData*>::iterator spot = clusterSpots.find(textItem->text());
|
||||
if (spot != clusterSpots.end() && spot.key() == textItem->text()) {
|
||||
|
@ -4623,12 +4653,43 @@ void wfmain::handlePlotMouseRelease(QMouseEvent* me)
|
|||
qInfo(logGui()) << "Mouse release delta: " << delta;
|
||||
|
||||
}
|
||||
if (resizingPassband) {
|
||||
resizingPassband = false;
|
||||
}
|
||||
}
|
||||
|
||||
void wfmain::handlePlotMouseMove(QMouseEvent *me)
|
||||
{
|
||||
QCPAbstractItem* item = plot->itemAt(me->pos(), true);
|
||||
QCPItemText* textItem = dynamic_cast<QCPItemText*> (item);
|
||||
QCPItemRect* rectItem = dynamic_cast<QCPItemRect*> (item);
|
||||
if (rectItem != nullptr && ((me->pos().x()) == (int)passbandIndicator->right->pixelPosition().x() ||
|
||||
(me->pos().x()) == (int)passbandIndicator->left->pixelPosition().x())) {
|
||||
setCursor(Qt::SizeHorCursor);
|
||||
}
|
||||
else if (!resizingPassband) {
|
||||
setCursor(Qt::ArrowCursor);
|
||||
}
|
||||
else if (resizingPassband) {
|
||||
// We are currently resizing the passband.
|
||||
double left = passbandIndicator->topLeft->coords().x();
|
||||
double right = passbandIndicator->bottomRight->coords().x();
|
||||
double delta = plot->xAxis->pixelToCoord(me->pos().x());
|
||||
//passBand = delta - left;
|
||||
|
||||
if (currentModeInfo.mk == modeLSB || currentModeInfo.mk == modePSK_R) {
|
||||
passBand = right - delta;
|
||||
}
|
||||
else if (currentModeInfo.mk == modeUSB || currentModeInfo.mk == modePSK) {
|
||||
passBand = delta - left;
|
||||
}
|
||||
else {
|
||||
passBand = delta - left;
|
||||
}
|
||||
|
||||
issueCmdUniquePriority(cmdSetPassband, (quint16)(passBand * 1000000));
|
||||
}
|
||||
|
||||
if(me->buttons() == Qt::LeftButton && textItem==nullptr && prefs.clickDragTuningEnable)
|
||||
{
|
||||
double delta = plot->xAxis->pixelToCoord(me->pos().x()) - mousePressFreq;
|
||||
|
@ -5962,17 +6023,6 @@ void wfmain::receiveLANGain(unsigned char level)
|
|||
|
||||
void wfmain::receivePassband(quint16 pass)
|
||||
{
|
||||
/* int calc;
|
||||
if (currentModeInfo.mk == modeAM) {
|
||||
calc = 200 + (pass * 200);
|
||||
}
|
||||
else if (pass <= 10)
|
||||
{
|
||||
calc = 50 + (pass * 50);
|
||||
}
|
||||
else {
|
||||
calc = 600 + ((pass - 10) * 100);
|
||||
} */
|
||||
passBand = (double)(pass / 1000000.0);
|
||||
}
|
||||
|
||||
|
|
15
wfmain.h
15
wfmain.h
|
@ -105,7 +105,6 @@ signals:
|
|||
|
||||
// Repeater:
|
||||
void getDuplexMode();
|
||||
void getPassband();
|
||||
void getTone();
|
||||
void getTSQL();
|
||||
void getDTCS();
|
||||
|
@ -123,6 +122,9 @@ signals:
|
|||
void getMicGain();
|
||||
void getSpectrumRefLevel();
|
||||
void getModInputLevel(rigInput input);
|
||||
void getMeters(meterKind meter);
|
||||
void getPassband();
|
||||
|
||||
|
||||
// Level set:
|
||||
void setRfGain(unsigned char level);
|
||||
|
@ -131,7 +133,7 @@ signals:
|
|||
void setIFShift(unsigned char level);
|
||||
void setTPBFInner(unsigned char level);
|
||||
void setTPBFOuter(unsigned char level);
|
||||
|
||||
|
||||
void setIFShiftWindow(unsigned char level);
|
||||
void setTPBFInnerWindow(unsigned char level);
|
||||
void setTPBFOuterWindow(unsigned char level);
|
||||
|
@ -149,9 +151,7 @@ signals:
|
|||
void setACCBGain(unsigned char level);
|
||||
void setUSBGain(unsigned char level);
|
||||
void setLANGain(unsigned char level);
|
||||
|
||||
void getMeters(meterKind meter);
|
||||
|
||||
void setPassband(quint16 pass);
|
||||
|
||||
// PTT, ATU, ATT, Antenna, Preamp:
|
||||
void getPTT();
|
||||
|
@ -871,7 +871,7 @@ private:
|
|||
cmdGetDataMode, cmdSetModeFilter, cmdSetDataModeOn, cmdSetDataModeOff, cmdGetRitEnabled, cmdGetRitValue,
|
||||
cmdSpecOn, cmdSpecOff, cmdDispEnable, cmdDispDisable, cmdGetRxGain, cmdSetRxRfGain, cmdGetAfGain, cmdSetAfGain,
|
||||
cmdGetSql, cmdSetSql, cmdGetIFShift, cmdSetIFShift, cmdGetTPBFInner, cmdSetTPBFInner,
|
||||
cmdGetTPBFOuter, cmdSetTPBFOuter, cmdGetATUStatus, cmdGetPassband,
|
||||
cmdGetTPBFOuter, cmdSetTPBFOuter, cmdGetATUStatus, cmdGetPassband, cmdSetPassband,
|
||||
cmdSetATU, cmdStartATU, cmdGetSpectrumMode,
|
||||
cmdGetSpectrumSpan, cmdScopeCenterMode, cmdScopeFixedMode, cmdGetPTT, cmdSetPTT,cmdPTTToggle,
|
||||
cmdGetTxPower, cmdSetTxPower, cmdGetMicGain, cmdSetMicGain, cmdSetModLevel,
|
||||
|
@ -902,12 +902,14 @@ private:
|
|||
void issueCmd(cmds cmd, unsigned char c);
|
||||
void issueCmd(cmds cmd, char c);
|
||||
void issueCmd(cmds cmd, bool b);
|
||||
void issueCmd(cmds cmd, quint16 c);
|
||||
|
||||
// These commands pop_front and remove similar commands:
|
||||
void issueCmdUniquePriority(cmds cmd, bool b);
|
||||
void issueCmdUniquePriority(cmds cmd, unsigned char c);
|
||||
void issueCmdUniquePriority(cmds cmd, char c);
|
||||
void issueCmdUniquePriority(cmds cmd, freqt f);
|
||||
void issueCmdUniquePriority(cmds cmd, quint16 c);
|
||||
|
||||
void removeSimilarCommand(cmds cmd);
|
||||
|
||||
|
@ -1069,6 +1071,7 @@ private:
|
|||
|
||||
rigstate* rigState = Q_NULLPTR;
|
||||
|
||||
bool resizingPassband = false;
|
||||
SERVERCONFIG serverConfig;
|
||||
void serverAddUserLine(const QString& user, const QString& pass, const int& type);
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue