diff --git a/transceiveradjustments.cpp b/transceiveradjustments.cpp index 319b305..a5e8501 100644 --- a/transceiveradjustments.cpp +++ b/transceiveradjustments.cpp @@ -22,7 +22,20 @@ transceiverAdjustments::~transceiverAdjustments() void transceiverAdjustments::on_IFShiftSlider_valueChanged(int value) { - emit setIFShift(value); + if(rigCaps.hasIFShift) + { + emit setIFShift(value); + } else { + unsigned char inner = ui->TPBFInnerSlider->value(); + unsigned char outer = ui->TPBFOuterSlider->value(); + int shift = value - previousIFShift; + inner = MAX( 0, MIN(255,int (inner + shift)) ); + outer = MAX( 0, MIN(255,int (outer + shift)) ); + + ui->TPBFInnerSlider->setValue(inner); + ui->TPBFOuterSlider->setValue(outer); + previousIFShift = value; + } } void transceiverAdjustments::on_TPBFInnerSlider_valueChanged(int value) @@ -38,8 +51,10 @@ void transceiverAdjustments::on_TPBFOuterSlider_valueChanged(int value) void transceiverAdjustments::setRig(rigCapabilities rig) { this->rigCaps = rig; - ui->IFShiftSlider->setVisible(rigCaps.hasIFShift); - ui->IFShiftLabel->setVisible(rigCaps.hasIFShift); + if(!rigCaps.hasIFShift) + updateIFShift(128); + //ui->IFShiftSlider->setVisible(rigCaps.hasIFShift); + //ui->IFShiftLabel->setVisible(rigCaps.hasIFShift); ui->TPBFInnerSlider->setVisible(rigCaps.hasTBPF); ui->TPBFInnerLabel->setVisible(rigCaps.hasTBPF); diff --git a/transceiveradjustments.h b/transceiveradjustments.h index 2411d4d..bec6a34 100644 --- a/transceiveradjustments.h +++ b/transceiveradjustments.h @@ -1,6 +1,8 @@ #ifndef TRANSCEIVERADJUSTMENTS_H #define TRANSCEIVERADJUSTMENTS_H +#include + #include #include "rigidentities.h" @@ -40,6 +42,7 @@ private: Ui::transceiverAdjustments *ui; rigCapabilities rigCaps; bool haveRigCaps = false; + int previousIFShift = 128; }; #endif // TRANSCEIVERADJUSTMENTS_H diff --git a/transceiveradjustments.ui b/transceiveradjustments.ui index 415b7bb..791c7ef 100644 --- a/transceiveradjustments.ui +++ b/transceiveradjustments.ui @@ -197,6 +197,9 @@ + + 255 + Qt::Vertical diff --git a/wfmain.cpp b/wfmain.cpp index c338533..6afc3fa 100644 --- a/wfmain.cpp +++ b/wfmain.cpp @@ -4393,15 +4393,16 @@ void wfmain::on_sqlSlider_valueChanged(int value) // These three are from the transceiver adjustment window: void wfmain::changeIFShift(unsigned char level) { - issueCmd(cmdSetIFShift, level); + //issueCmd(cmdSetIFShift, level); + issueCmdUniquePriority(cmdSetIFShift, level); } void wfmain::changeTPBFInner(unsigned char level) { - issueCmd(cmdSetTPBFInner, level); + issueCmdUniquePriority(cmdSetTPBFInner, level); } void wfmain::changeTPBFOuter(unsigned char level) { - issueCmd(cmdSetTPBFOuter, level); + issueCmdUniquePriority(cmdSetTPBFOuter, level); } void wfmain::on_modeFilterCombo_activated(int index)