From dbad815b2a6ef8e773a20686dc72910050d4248e Mon Sep 17 00:00:00 2001 From: f4exb Date: Fri, 1 Apr 2016 00:18:49 +0200 Subject: [PATCH] NFM demod: GUI: use combo box for RF demodulator bandwidths --- plugins/channel/demodnfm/nfmdemodgui.cpp | 23 +++++++--- plugins/channel/demodnfm/nfmdemodgui.h | 2 +- plugins/channel/demodnfm/nfmdemodgui.ui | 55 ++++++++++++++++-------- 3 files changed, 54 insertions(+), 26 deletions(-) diff --git a/plugins/channel/demodnfm/nfmdemodgui.cpp b/plugins/channel/demodnfm/nfmdemodgui.cpp index 5e916235a..49b005a09 100644 --- a/plugins/channel/demodnfm/nfmdemodgui.cpp +++ b/plugins/channel/demodnfm/nfmdemodgui.cpp @@ -55,7 +55,7 @@ void NFMDemodGUI::resetToDefaults() { blockApplySettings(true); - ui->rfBW->setValue(4); + ui->rfBW->setCurrentIndex(4); ui->afBW->setValue(3); ui->volume->setValue(20); ui->squelchGate->setValue(5); @@ -72,7 +72,7 @@ QByteArray NFMDemodGUI::serialize() const { SimpleSerializer s(1); s.writeS32(1, m_channelMarker.getCenterFrequency()); - s.writeS32(2, ui->rfBW->value()); + s.writeS32(2, ui->rfBW->currentIndex()); s.writeS32(3, ui->afBW->value()); s.writeS32(4, ui->volume->value()); s.writeS32(5, ui->squelch->value()); @@ -107,7 +107,7 @@ bool NFMDemodGUI::deserialize(const QByteArray& data) d.readS32(1, &tmp, 0); m_channelMarker.setCenterFrequency(tmp); d.readS32(2, &tmp, 4); - ui->rfBW->setValue(tmp); + ui->rfBW->setCurrentIndex(tmp); d.readS32(3, &tmp, 3); ui->afBW->setValue(tmp); d.readS32(4, &tmp, 20); @@ -175,10 +175,11 @@ void NFMDemodGUI::on_deltaFrequency_changed(quint64 value) } } -void NFMDemodGUI::on_rfBW_valueChanged(int value) +void NFMDemodGUI::on_rfBW_currentIndexChanged(int index) { - ui->rfBWText->setText(QString("%1 k").arg(m_rfBW[value] / 1000.0)); - m_channelMarker.setBandwidth(m_rfBW[value]); + qDebug() << "NFMDemodGUI::on_rfBW_currentIndexChanged" << index; + //ui->rfBWText->setText(QString("%1 k").arg(m_rfBW[value] / 1000.0)); + m_channelMarker.setBandwidth(m_rfBW[index]); applySettings(); } @@ -256,6 +257,14 @@ NFMDemodGUI::NFMDemodGUI(PluginAPI* pluginAPI, QWidget* parent) : { ui->setupUi(this); setAttribute(Qt::WA_DeleteOnClose, true); + + blockApplySettings(true); + ui->rfBW->clear(); + for (int i = 0; i < m_nbRfBW; i++) { + ui->rfBW->addItem(QString("%1").arg(m_rfBW[i] / 1000.0, 0, 'f', 2)); + } + blockApplySettings(false); + connect(this, SIGNAL(widgetRolled(QWidget*,bool)), this, SLOT(onWidgetRolled(QWidget*,bool))); connect(this, SIGNAL(menuDoubleClickEvent()), this, SLOT(onMenuDoubleClicked())); @@ -320,7 +329,7 @@ void NFMDemodGUI::applySettings() ui->deltaMinus->setChecked(m_channelMarker.getCenterFrequency() < 0); m_nfmDemod->configure(m_nfmDemod->getInputMessageQueue(), - m_rfBW[ui->rfBW->value()], + m_rfBW[ui->rfBW->currentIndex()], ui->afBW->value() * 1000.0, ui->volume->value() / 10.0, ui->squelchGate->value(), // in 10ths of ms diff --git a/plugins/channel/demodnfm/nfmdemodgui.h b/plugins/channel/demodnfm/nfmdemodgui.h index a4ed652a6..bd06db81e 100644 --- a/plugins/channel/demodnfm/nfmdemodgui.h +++ b/plugins/channel/demodnfm/nfmdemodgui.h @@ -40,7 +40,7 @@ private slots: void viewChanged(); void on_deltaFrequency_changed(quint64 value); void on_deltaMinus_toggled(bool minus); - void on_rfBW_valueChanged(int value); + void on_rfBW_currentIndexChanged(int index); void on_afBW_valueChanged(int value); void on_volume_valueChanged(int value); void on_squelchGate_valueChanged(int value); diff --git a/plugins/channel/demodnfm/nfmdemodgui.ui b/plugins/channel/demodnfm/nfmdemodgui.ui index 9c92945a0..b59b5d769 100644 --- a/plugins/channel/demodnfm/nfmdemodgui.ui +++ b/plugins/channel/demodnfm/nfmdemodgui.ui @@ -153,37 +153,34 @@ - + + + + 60 + 16777215 + + - Demodulator (RF) bandwidth + RF demodulator bandwidth (kHz) - - 8 - - - 1 - - - 4 - - - Qt::Horizontal + + -1 - + - 40 + 10 0 - 12.5 k + k - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -200,6 +197,19 @@ + + + + Qt::Horizontal + + + + 40 + 20 + + + + @@ -216,7 +226,7 @@ - Audio bandwidth + Audio bandwidth (kHz) 1 @@ -270,6 +280,9 @@ 24 + + Sound volume + 100 @@ -295,6 +308,9 @@ 16777215 + + Sound volume + 2.0 @@ -331,6 +347,9 @@ 24 + + Squelch threshold (dB) + -1000