diff --git a/plugins/samplesource/rtlsdr/rtlsdrgui.cpp b/plugins/samplesource/rtlsdr/rtlsdrgui.cpp index b0f13f0c7..059b53589 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrgui.cpp +++ b/plugins/samplesource/rtlsdr/rtlsdrgui.cpp @@ -222,6 +222,9 @@ void RTLSDRGui::displayGains() void RTLSDRGui::displaySettings() { + ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); + ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode); + updateFrequencyLimits(); ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000); ui->sampleRate->setValue(m_settings.m_devSampleRate); ui->dcOffset->setChecked(m_settings.m_dcBlock); @@ -231,8 +234,6 @@ void RTLSDRGui::displaySettings() ui->decim->setCurrentIndex(m_settings.m_log2Decim); ui->fcPos->setCurrentIndex((int) m_settings.m_fcPos); ui->checkBox->setChecked(m_settings.m_noModMode); - ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); - ui->transverter->setChecked(m_settings.m_transverterMode); } void RTLSDRGui::sendSettings() diff --git a/sdrbase/gui/transverterbutton.cpp b/sdrbase/gui/transverterbutton.cpp index e605d95c8..99f1d3c2a 100644 --- a/sdrbase/gui/transverterbutton.cpp +++ b/sdrbase/gui/transverterbutton.cpp @@ -26,13 +26,18 @@ TransverterButton::TransverterButton(QWidget* parent) : m_deltaFrequency(0), m_deltaFrequencyActive(false) { - connect(this, SIGNAL(clicked(bool)), this, SLOT(onClicked(bool))); + connect(this, SIGNAL(clicked()), this, SLOT(onClicked())); } void TransverterButton::onClicked() { TransverterDialog transverterDialog(m_deltaFrequency, m_deltaFrequencyActive, this); transverterDialog.exec(); + updateState(); +} + +void TransverterButton::updateState() +{ setToolTip(tr("Transverter frequency translation dialog. Delta frequency %1 MHz %2") .arg(m_deltaFrequency/1000000.0) .arg(m_deltaFrequencyActive ? "enabled" : "disabled")); diff --git a/sdrbase/gui/transverterbutton.h b/sdrbase/gui/transverterbutton.h index d738f9f3d..b526fb02c 100644 --- a/sdrbase/gui/transverterbutton.h +++ b/sdrbase/gui/transverterbutton.h @@ -29,9 +29,19 @@ class TransverterButton : public QPushButton { public: TransverterButton(QWidget* parent = 0); qint64 getDeltaFrequency() const { return m_deltaFrequency; } - void setDeltaFrequency(qint64 deltaFrequency) { m_deltaFrequency = deltaFrequency; } bool getDeltaFrequencyAcive() const { return m_deltaFrequencyActive; } - void setDeltaFrequencyActive(bool active) { m_deltaFrequencyActive = active; } + + void setDeltaFrequency(qint64 deltaFrequency) + { + m_deltaFrequency = deltaFrequency; + updateState(); + } + + void setDeltaFrequencyActive(bool active) + { + m_deltaFrequencyActive = active; + updateState(); + } private slots: void onClicked(); @@ -39,6 +49,8 @@ private slots: private: qint64 m_deltaFrequency; bool m_deltaFrequencyActive; + + void updateState(); };