mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-03-06 11:28:30 -05:00
Deep redesign: Init sequence review phase #2: Fixing channel GUI init
This commit is contained in:
parent
30957e3002
commit
9be9f2d807
@ -44,11 +44,15 @@ qint64 AMDemodGUI::getCenterFrequency() const {
|
||||
|
||||
void AMDemodGUI::resetToDefaults()
|
||||
{
|
||||
blockApplySettings(true);
|
||||
|
||||
ui->rfBW->setValue(4);
|
||||
ui->afBW->setValue(3);
|
||||
ui->volume->setValue(20);
|
||||
ui->squelch->setValue(-40);
|
||||
ui->deltaFrequency->setValue(0);
|
||||
|
||||
blockApplySettings(false);
|
||||
applySettings();
|
||||
}
|
||||
|
||||
@ -60,7 +64,6 @@ QByteArray AMDemodGUI::serialize() const
|
||||
s.writeS32(3, ui->afBW->value());
|
||||
s.writeS32(4, ui->volume->value());
|
||||
s.writeS32(5, ui->squelch->value());
|
||||
//s.writeBlob(6, ui->spectrumGUI->serialize());
|
||||
s.writeU32(7, m_channelMarker->getColor().rgb());
|
||||
return s.final();
|
||||
}
|
||||
@ -69,15 +72,20 @@ bool AMDemodGUI::deserialize(const QByteArray& data)
|
||||
{
|
||||
SimpleDeserializer d(data);
|
||||
|
||||
if(!d.isValid()) {
|
||||
if(!d.isValid())
|
||||
{
|
||||
resetToDefaults();
|
||||
return false;
|
||||
}
|
||||
|
||||
if(d.getVersion() == 1) {
|
||||
if(d.getVersion() == 1)
|
||||
{
|
||||
QByteArray bytetmp;
|
||||
quint32 u32tmp;
|
||||
qint32 tmp;
|
||||
|
||||
blockApplySettings(true);
|
||||
|
||||
d.readS32(1, &tmp, 0);
|
||||
m_channelMarker->setCenterFrequency(tmp);
|
||||
d.readS32(2, &tmp, 4);
|
||||
@ -88,13 +96,19 @@ bool AMDemodGUI::deserialize(const QByteArray& data)
|
||||
ui->volume->setValue(tmp);
|
||||
d.readS32(5, &tmp, -40);
|
||||
ui->squelch->setValue(tmp);
|
||||
//d.readBlob(6, &bytetmp);
|
||||
//ui->spectrumGUI->deserialize(bytetmp);
|
||||
if(d.readU32(7, &u32tmp))
|
||||
|
||||
if(d.readU32(7, &u32tmp))
|
||||
{
|
||||
m_channelMarker->setColor(u32tmp);
|
||||
}
|
||||
|
||||
blockApplySettings(false);
|
||||
|
||||
applySettings();
|
||||
return true;
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
resetToDefaults();
|
||||
return false;
|
||||
}
|
||||
@ -177,7 +191,8 @@ AMDemodGUI::AMDemodGUI(PluginAPI* pluginAPI, QWidget* parent) :
|
||||
RollupWidget(parent),
|
||||
ui(new Ui::AMDemodGUI),
|
||||
m_pluginAPI(pluginAPI),
|
||||
m_basicSettingsShown(false)
|
||||
m_basicSettingsShown(false),
|
||||
m_doApplySettings(true)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
setAttribute(Qt::WA_DeleteOnClose, true);
|
||||
@ -213,31 +228,44 @@ AMDemodGUI::~AMDemodGUI()
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void AMDemodGUI::blockApplySettings(bool block)
|
||||
{
|
||||
m_channelMarker->blockSignals(block);
|
||||
m_doApplySettings = !block;
|
||||
}
|
||||
|
||||
void AMDemodGUI::applySettings()
|
||||
{
|
||||
setTitleColor(m_channelMarker->getColor());
|
||||
if (m_doApplySettings)
|
||||
{
|
||||
setTitleColor(m_channelMarker->getColor());
|
||||
|
||||
m_channelizer->configure(m_channelizer->getInputMessageQueue(),
|
||||
48000,
|
||||
m_channelMarker->getCenterFrequency());
|
||||
m_channelizer->configure(m_channelizer->getInputMessageQueue(),
|
||||
48000,
|
||||
m_channelMarker->getCenterFrequency());
|
||||
|
||||
ui->deltaFrequency->setValue(abs(m_channelMarker->getCenterFrequency()));
|
||||
ui->deltaMinus->setChecked(m_channelMarker->getCenterFrequency() < 0);
|
||||
ui->deltaFrequency->setValue(abs(m_channelMarker->getCenterFrequency()));
|
||||
ui->deltaMinus->setChecked(m_channelMarker->getCenterFrequency() < 0);
|
||||
|
||||
m_amDemod->configure(m_amDemod->getInputMessageQueue(),
|
||||
m_rfBW[ui->rfBW->value()],
|
||||
ui->afBW->value() * 1000.0,
|
||||
ui->volume->value() / 10.0,
|
||||
ui->squelch->value());
|
||||
m_amDemod->configure(m_amDemod->getInputMessageQueue(),
|
||||
m_rfBW[ui->rfBW->value()],
|
||||
ui->afBW->value() * 1000.0,
|
||||
ui->volume->value() / 10.0,
|
||||
ui->squelch->value());
|
||||
}
|
||||
}
|
||||
|
||||
void AMDemodGUI::leaveEvent(QEvent*)
|
||||
{
|
||||
blockApplySettings(true);
|
||||
m_channelMarker->setHighlighted(false);
|
||||
blockApplySettings(false);
|
||||
}
|
||||
|
||||
void AMDemodGUI::enterEvent(QEvent*)
|
||||
{
|
||||
blockApplySettings(true);
|
||||
m_channelMarker->setHighlighted(true);
|
||||
blockApplySettings(false);
|
||||
}
|
||||
|
||||
|
@ -48,6 +48,7 @@ private:
|
||||
PluginAPI* m_pluginAPI;
|
||||
ChannelMarker* m_channelMarker;
|
||||
bool m_basicSettingsShown;
|
||||
bool m_doApplySettings;
|
||||
|
||||
AudioFifo* m_audioFifo;
|
||||
Channelizer* m_channelizer;
|
||||
@ -56,8 +57,9 @@ private:
|
||||
static const int m_rfBW[];
|
||||
|
||||
explicit AMDemodGUI(PluginAPI* pluginAPI, QWidget* parent = NULL);
|
||||
~AMDemodGUI();
|
||||
virtual ~AMDemodGUI();
|
||||
|
||||
void blockApplySettings(bool block);
|
||||
void applySettings();
|
||||
|
||||
void leaveEvent(QEvent*);
|
||||
|
@ -44,9 +44,13 @@ qint64 ChannelAnalyzerGUI::getCenterFrequency() const
|
||||
|
||||
void ChannelAnalyzerGUI::resetToDefaults()
|
||||
{
|
||||
blockApplySettings(true);
|
||||
|
||||
ui->BW->setValue(30);
|
||||
ui->deltaFrequency->setValue(0);
|
||||
ui->spanLog2->setValue(3);
|
||||
|
||||
blockApplySettings(false);
|
||||
applySettings();
|
||||
}
|
||||
|
||||
@ -68,16 +72,21 @@ bool ChannelAnalyzerGUI::deserialize(const QByteArray& data)
|
||||
{
|
||||
SimpleDeserializer d(data);
|
||||
|
||||
if(!d.isValid()) {
|
||||
if(!d.isValid())
|
||||
{
|
||||
resetToDefaults();
|
||||
return false;
|
||||
}
|
||||
|
||||
if(d.getVersion() == 1) {
|
||||
if(d.getVersion() == 1)
|
||||
{
|
||||
QByteArray bytetmp;
|
||||
quint32 u32tmp;
|
||||
qint32 tmp;
|
||||
bool tmpBool;
|
||||
|
||||
blockApplySettings(true);
|
||||
|
||||
d.readS32(1, &tmp, 0);
|
||||
m_channelMarker->setCenterFrequency(tmp);
|
||||
d.readS32(2, &tmp, 30);
|
||||
@ -95,9 +104,14 @@ bool ChannelAnalyzerGUI::deserialize(const QByteArray& data)
|
||||
ui->ssb->setChecked(tmpBool);
|
||||
d.readBlob(8, &bytetmp);
|
||||
ui->scopeGUI->deserialize(bytetmp);
|
||||
|
||||
blockApplySettings(false);
|
||||
|
||||
applySettings();
|
||||
return true;
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
resetToDefaults();
|
||||
return false;
|
||||
}
|
||||
@ -253,6 +267,7 @@ ChannelAnalyzerGUI::ChannelAnalyzerGUI(PluginAPI* pluginAPI, QWidget* parent) :
|
||||
ui(new Ui::ChannelAnalyzerGUI),
|
||||
m_pluginAPI(pluginAPI),
|
||||
m_basicSettingsShown(false),
|
||||
m_doApplySettings(true),
|
||||
m_rate(6000),
|
||||
m_spanLog2(3)
|
||||
{
|
||||
@ -317,7 +332,7 @@ bool ChannelAnalyzerGUI::setNewRate(int spanLog2)
|
||||
m_spanLog2 = spanLog2;
|
||||
//m_rate = 48000 / (1<<spanLog2);
|
||||
m_rate = m_channelAnalyzer->getSampleRate() / (1<<spanLog2);
|
||||
|
||||
|
||||
if (ui->BW->value() < -m_rate/100) {
|
||||
ui->BW->setValue(-m_rate/100);
|
||||
m_channelMarker->setBandwidth(-m_rate*2);
|
||||
@ -369,6 +384,14 @@ bool ChannelAnalyzerGUI::setNewRate(int spanLog2)
|
||||
return true;
|
||||
}
|
||||
|
||||
void ChannelAnalyzerGUI::blockApplySettings(bool block)
|
||||
{
|
||||
ui->glScope->blockSignals(block);
|
||||
ui->glSpectrum->blockSignals(block);
|
||||
m_channelMarker->blockSignals(block);
|
||||
m_doApplySettings = !block;
|
||||
}
|
||||
|
||||
void ChannelAnalyzerGUI::applySettings()
|
||||
{
|
||||
setTitleColor(m_channelMarker->getColor());
|
||||
@ -388,11 +411,15 @@ void ChannelAnalyzerGUI::applySettings()
|
||||
|
||||
void ChannelAnalyzerGUI::leaveEvent(QEvent*)
|
||||
{
|
||||
blockApplySettings(true);
|
||||
m_channelMarker->setHighlighted(false);
|
||||
blockApplySettings(false);
|
||||
}
|
||||
|
||||
void ChannelAnalyzerGUI::enterEvent(QEvent*)
|
||||
{
|
||||
blockApplySettings(true);
|
||||
m_channelMarker->setHighlighted(true);
|
||||
blockApplySettings(false);
|
||||
}
|
||||
|
||||
|
@ -52,6 +52,7 @@ private:
|
||||
PluginAPI* m_pluginAPI;
|
||||
ChannelMarker* m_channelMarker;
|
||||
bool m_basicSettingsShown;
|
||||
bool m_doApplySettings;
|
||||
int m_rate;
|
||||
int m_spanLog2;
|
||||
|
||||
@ -62,10 +63,12 @@ private:
|
||||
ScopeVis* m_scopeVis;
|
||||
|
||||
explicit ChannelAnalyzerGUI(PluginAPI* pluginAPI, QWidget* parent = NULL);
|
||||
~ChannelAnalyzerGUI();
|
||||
virtual ~ChannelAnalyzerGUI();
|
||||
|
||||
int getEffectiveLowCutoff(int lowCutoff);
|
||||
bool setNewRate(int spanLog2);
|
||||
|
||||
void blockApplySettings(bool block);
|
||||
void applySettings();
|
||||
|
||||
void leaveEvent(QEvent*);
|
||||
|
@ -41,8 +41,12 @@ qint64 LoRaDemodGUI::getCenterFrequency() const {
|
||||
|
||||
void LoRaDemodGUI::resetToDefaults()
|
||||
{
|
||||
blockApplySettings(true);
|
||||
|
||||
ui->BW->setValue(0);
|
||||
ui->Spread->setValue(0);
|
||||
|
||||
blockApplySettings(false);
|
||||
applySettings();
|
||||
}
|
||||
|
||||
@ -60,14 +64,19 @@ bool LoRaDemodGUI::deserialize(const QByteArray& data)
|
||||
{
|
||||
SimpleDeserializer d(data);
|
||||
|
||||
if(!d.isValid()) {
|
||||
if(!d.isValid())
|
||||
{
|
||||
resetToDefaults();
|
||||
return false;
|
||||
}
|
||||
|
||||
if(d.getVersion() == 1) {
|
||||
if(d.getVersion() == 1)
|
||||
{
|
||||
QByteArray bytetmp;
|
||||
qint32 tmp;
|
||||
|
||||
blockApplySettings(true);
|
||||
|
||||
d.readS32(1, &tmp, 0);
|
||||
m_channelMarker->setCenterFrequency(tmp);
|
||||
d.readS32(2, &tmp, 0);
|
||||
@ -76,9 +85,14 @@ bool LoRaDemodGUI::deserialize(const QByteArray& data)
|
||||
ui->Spread->setValue(tmp);
|
||||
d.readBlob(4, &bytetmp);
|
||||
ui->spectrumGUI->deserialize(bytetmp);
|
||||
|
||||
blockApplySettings(false);
|
||||
|
||||
applySettings();
|
||||
return true;
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
resetToDefaults();
|
||||
return false;
|
||||
}
|
||||
@ -128,7 +142,8 @@ LoRaDemodGUI::LoRaDemodGUI(PluginAPI* pluginAPI, QWidget* parent) :
|
||||
RollupWidget(parent),
|
||||
ui(new Ui::LoRaDemodGUI),
|
||||
m_pluginAPI(pluginAPI),
|
||||
m_basicSettingsShown(false)
|
||||
m_basicSettingsShown(false),
|
||||
m_doApplySettings(true)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
setAttribute(Qt::WA_DeleteOnClose, true);
|
||||
@ -171,6 +186,12 @@ LoRaDemodGUI::~LoRaDemodGUI()
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void LoRaDemodGUI::blockApplySettings(bool block)
|
||||
{
|
||||
m_channelMarker->blockSignals(block);
|
||||
m_doApplySettings = !block;
|
||||
}
|
||||
|
||||
void LoRaDemodGUI::applySettings()
|
||||
{
|
||||
const int loraBW[] = BANDWIDTHSTRING;
|
||||
|
@ -45,14 +45,16 @@ private:
|
||||
PluginAPI* m_pluginAPI;
|
||||
ChannelMarker* m_channelMarker;
|
||||
bool m_basicSettingsShown;
|
||||
bool m_doApplySettings;
|
||||
|
||||
Channelizer* m_channelizer;
|
||||
LoRaDemod* m_LoRaDemod;
|
||||
SpectrumVis* m_spectrumVis;
|
||||
|
||||
explicit LoRaDemodGUI(PluginAPI* pluginAPI, QWidget* parent = NULL);
|
||||
~LoRaDemodGUI();
|
||||
virtual ~LoRaDemodGUI();
|
||||
|
||||
void blockApplySettings(bool block);
|
||||
void applySettings();
|
||||
};
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
#include <QDockWidget>
|
||||
#include <QMainWindow>
|
||||
#include <QDebug>
|
||||
#include "nfmdemodgui.h"
|
||||
#include "ui_nfmdemodgui.h"
|
||||
#include "dsp/threadedsamplesink.h"
|
||||
@ -44,7 +45,7 @@ qint64 NFMDemodGUI::getCenterFrequency() const
|
||||
|
||||
void NFMDemodGUI::resetToDefaults()
|
||||
{
|
||||
blockGUISignals(true);
|
||||
blockApplySettings(true);
|
||||
|
||||
ui->rfBW->setValue(4);
|
||||
ui->afBW->setValue(3);
|
||||
@ -52,7 +53,7 @@ void NFMDemodGUI::resetToDefaults()
|
||||
ui->squelch->setValue(-40);
|
||||
ui->deltaFrequency->setValue(0);
|
||||
|
||||
blockGUISignals(false);
|
||||
blockApplySettings(false);
|
||||
applySettings();
|
||||
}
|
||||
|
||||
@ -64,7 +65,6 @@ QByteArray NFMDemodGUI::serialize() const
|
||||
s.writeS32(3, ui->afBW->value());
|
||||
s.writeS32(4, ui->volume->value());
|
||||
s.writeS32(5, ui->squelch->value());
|
||||
//s.writeBlob(6, ui->spectrumGUI->serialize());
|
||||
s.writeU32(7, m_channelMarker->getColor().rgb());
|
||||
s.writeS32(8, ui->ctcss->currentIndex());
|
||||
return s.final();
|
||||
@ -86,7 +86,7 @@ bool NFMDemodGUI::deserialize(const QByteArray& data)
|
||||
quint32 u32tmp;
|
||||
qint32 tmp;
|
||||
|
||||
blockGUISignals(true);
|
||||
blockApplySettings(true);
|
||||
|
||||
d.readS32(1, &tmp, 0);
|
||||
m_channelMarker->setCenterFrequency(tmp);
|
||||
@ -98,14 +98,16 @@ bool NFMDemodGUI::deserialize(const QByteArray& data)
|
||||
ui->volume->setValue(tmp);
|
||||
d.readS32(5, &tmp, -40);
|
||||
ui->squelch->setValue(tmp);
|
||||
//d.readBlob(6, &bytetmp);
|
||||
//ui->spectrumGUI->deserialize(bytetmp);
|
||||
|
||||
if(d.readU32(7, &u32tmp))
|
||||
{
|
||||
m_channelMarker->setColor(u32tmp);
|
||||
}
|
||||
|
||||
d.readS32(8, &tmp, 0);
|
||||
ui->ctcss->setCurrentIndex(tmp);
|
||||
|
||||
blockGUISignals(false);
|
||||
blockApplySettings(false);
|
||||
|
||||
applySettings();
|
||||
return true;
|
||||
@ -205,7 +207,8 @@ NFMDemodGUI::NFMDemodGUI(PluginAPI* pluginAPI, QWidget* parent) :
|
||||
RollupWidget(parent),
|
||||
ui(new Ui::NFMDemodGUI),
|
||||
m_pluginAPI(pluginAPI),
|
||||
m_basicSettingsShown(false)
|
||||
m_basicSettingsShown(false),
|
||||
m_doApplySettings(true)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
setAttribute(Qt::WA_DeleteOnClose, true);
|
||||
@ -259,30 +262,39 @@ NFMDemodGUI::~NFMDemodGUI()
|
||||
|
||||
void NFMDemodGUI::applySettings()
|
||||
{
|
||||
setTitleColor(m_channelMarker->getColor());
|
||||
if (m_doApplySettings)
|
||||
{
|
||||
qDebug() << "NFMDemodGUI::applySettings";
|
||||
|
||||
m_channelizer->configure(m_channelizer->getInputMessageQueue(),
|
||||
48000,
|
||||
m_channelMarker->getCenterFrequency());
|
||||
setTitleColor(m_channelMarker->getColor());
|
||||
|
||||
ui->deltaFrequency->setValue(abs(m_channelMarker->getCenterFrequency()));
|
||||
ui->deltaMinus->setChecked(m_channelMarker->getCenterFrequency() < 0);
|
||||
m_channelizer->configure(m_channelizer->getInputMessageQueue(),
|
||||
48000,
|
||||
m_channelMarker->getCenterFrequency());
|
||||
|
||||
m_nfmDemod->configure(m_nfmDemod->getInputMessageQueue(),
|
||||
m_rfBW[ui->rfBW->value()],
|
||||
ui->afBW->value() * 1000.0,
|
||||
ui->volume->value() / 10.0,
|
||||
ui->squelch->value());
|
||||
ui->deltaFrequency->setValue(abs(m_channelMarker->getCenterFrequency()));
|
||||
ui->deltaMinus->setChecked(m_channelMarker->getCenterFrequency() < 0);
|
||||
|
||||
m_nfmDemod->configure(m_nfmDemod->getInputMessageQueue(),
|
||||
m_rfBW[ui->rfBW->value()],
|
||||
ui->afBW->value() * 1000.0,
|
||||
ui->volume->value() / 10.0,
|
||||
ui->squelch->value());
|
||||
}
|
||||
}
|
||||
|
||||
void NFMDemodGUI::leaveEvent(QEvent*)
|
||||
{
|
||||
blockApplySettings(true);
|
||||
m_channelMarker->setHighlighted(false);
|
||||
blockApplySettings(false);
|
||||
}
|
||||
|
||||
void NFMDemodGUI::enterEvent(QEvent*)
|
||||
{
|
||||
blockApplySettings(true);
|
||||
m_channelMarker->setHighlighted(true);
|
||||
blockApplySettings(false);
|
||||
}
|
||||
|
||||
void NFMDemodGUI::setCtcssFreq(Real ctcssFreq)
|
||||
@ -297,14 +309,9 @@ void NFMDemodGUI::setCtcssFreq(Real ctcssFreq)
|
||||
}
|
||||
}
|
||||
|
||||
void NFMDemodGUI::blockGUISignals(bool block)
|
||||
void NFMDemodGUI::blockApplySettings(bool block)
|
||||
{
|
||||
m_channelMarker->blockSignals(block);
|
||||
ui->deltaFrequency->blockSignals(block);
|
||||
ui->deltaMinus->blockSignals(block);
|
||||
ui->rfBW->blockSignals(block);
|
||||
ui->afBW->blockSignals(block);
|
||||
ui->volume->blockSignals(block);
|
||||
ui->squelch->blockSignals(block);
|
||||
m_doApplySettings = !block;
|
||||
}
|
||||
|
||||
|
@ -51,6 +51,7 @@ private:
|
||||
PluginAPI* m_pluginAPI;
|
||||
ChannelMarker* m_channelMarker;
|
||||
bool m_basicSettingsShown;
|
||||
bool m_doApplySettings;
|
||||
|
||||
AudioFifo* m_audioFifo;
|
||||
Channelizer* m_channelizer;
|
||||
@ -61,7 +62,7 @@ private:
|
||||
explicit NFMDemodGUI(PluginAPI* pluginAPI, QWidget* parent = NULL);
|
||||
virtual ~NFMDemodGUI();
|
||||
|
||||
void blockGUISignals(bool block);
|
||||
void blockApplySettings(bool block);
|
||||
void applySettings();
|
||||
|
||||
void leaveEvent(QEvent*);
|
||||
|
@ -43,10 +43,14 @@ qint64 SSBDemodGUI::getCenterFrequency() const
|
||||
|
||||
void SSBDemodGUI::resetToDefaults()
|
||||
{
|
||||
blockApplySettings(true);
|
||||
|
||||
ui->BW->setValue(30);
|
||||
ui->volume->setValue(40);
|
||||
ui->deltaFrequency->setValue(0);
|
||||
ui->spanLog2->setValue(3);
|
||||
|
||||
blockApplySettings(false);
|
||||
applySettings();
|
||||
}
|
||||
|
||||
@ -78,6 +82,9 @@ bool SSBDemodGUI::deserialize(const QByteArray& data)
|
||||
QByteArray bytetmp;
|
||||
quint32 u32tmp;
|
||||
qint32 tmp;
|
||||
|
||||
blockApplySettings(true);
|
||||
|
||||
d.readS32(1, &tmp, 0);
|
||||
m_channelMarker->setCenterFrequency(tmp);
|
||||
d.readS32(2, &tmp, 30);
|
||||
@ -93,6 +100,9 @@ bool SSBDemodGUI::deserialize(const QByteArray& data)
|
||||
d.readS32(7, &tmp, 20);
|
||||
ui->spanLog2->setValue(tmp);
|
||||
setNewRate(tmp);
|
||||
|
||||
blockApplySettings(false);
|
||||
|
||||
applySettings();
|
||||
return true;
|
||||
}
|
||||
@ -234,6 +244,7 @@ SSBDemodGUI::SSBDemodGUI(PluginAPI* pluginAPI, QWidget* parent) :
|
||||
ui(new Ui::SSBDemodGUI),
|
||||
m_pluginAPI(pluginAPI),
|
||||
m_basicSettingsShown(false),
|
||||
m_doApplySettings(true),
|
||||
m_rate(6000),
|
||||
m_spanLog2(3)
|
||||
{
|
||||
@ -331,6 +342,12 @@ bool SSBDemodGUI::setNewRate(int spanLog2)
|
||||
return true;
|
||||
}
|
||||
|
||||
void SSBDemodGUI::blockApplySettings(bool block)
|
||||
{
|
||||
m_channelMarker->blockSignals(block);
|
||||
m_doApplySettings = !block;
|
||||
}
|
||||
|
||||
void SSBDemodGUI::applySettings()
|
||||
{
|
||||
setTitleColor(m_channelMarker->getColor());
|
||||
@ -350,11 +367,15 @@ void SSBDemodGUI::applySettings()
|
||||
|
||||
void SSBDemodGUI::leaveEvent(QEvent*)
|
||||
{
|
||||
blockApplySettings(true);
|
||||
m_channelMarker->setHighlighted(false);
|
||||
blockApplySettings(false);
|
||||
}
|
||||
|
||||
void SSBDemodGUI::enterEvent(QEvent*)
|
||||
{
|
||||
blockApplySettings(true);
|
||||
m_channelMarker->setHighlighted(true);
|
||||
blockApplySettings(false);
|
||||
}
|
||||
|
||||
|
@ -49,6 +49,7 @@ private:
|
||||
PluginAPI* m_pluginAPI;
|
||||
ChannelMarker* m_channelMarker;
|
||||
bool m_basicSettingsShown;
|
||||
bool m_doApplySettings;
|
||||
int m_rate;
|
||||
int m_spanLog2;
|
||||
|
||||
@ -58,10 +59,12 @@ private:
|
||||
SpectrumVis* m_spectrumVis;
|
||||
|
||||
explicit SSBDemodGUI(PluginAPI* pluginAPI, QWidget* parent = NULL);
|
||||
~SSBDemodGUI();
|
||||
virtual ~SSBDemodGUI();
|
||||
|
||||
int getEffectiveLowCutoff(int lowCutoff);
|
||||
bool setNewRate(int spanLog2);
|
||||
|
||||
void blockApplySettings(bool block);
|
||||
void applySettings();
|
||||
|
||||
void leaveEvent(QEvent*);
|
||||
|
@ -36,14 +36,17 @@ QString TCPSrcGUI::getName() const
|
||||
|
||||
void TCPSrcGUI::resetToDefaults()
|
||||
{
|
||||
blockApplySettings(true);
|
||||
|
||||
ui->sampleFormat->setCurrentIndex(0);
|
||||
ui->sampleRate->setText("48000");
|
||||
ui->rfBandwidth->setText("32000");
|
||||
ui->tcpPort->setText("9999");
|
||||
ui->spectrumGUI->resetToDefaults();
|
||||
ui->boost->setValue(1);
|
||||
applySettings();
|
||||
|
||||
blockApplySettings(false);
|
||||
applySettings();
|
||||
}
|
||||
|
||||
QByteArray TCPSrcGUI::serialize() const
|
||||
@ -75,6 +78,9 @@ bool TCPSrcGUI::deserialize(const QByteArray& data)
|
||||
QByteArray bytetmp;
|
||||
qint32 s32tmp;
|
||||
Real realtmp;
|
||||
|
||||
blockApplySettings(true);
|
||||
|
||||
d.readBlob(1, &bytetmp);
|
||||
restoreState(bytetmp);
|
||||
d.readS32(2, &s32tmp, 0);
|
||||
@ -104,6 +110,9 @@ bool TCPSrcGUI::deserialize(const QByteArray& data)
|
||||
ui->spectrumGUI->deserialize(bytetmp);
|
||||
d.readS32(8, &s32tmp, 1);
|
||||
ui->boost->setValue(s32tmp);
|
||||
|
||||
blockApplySettings(false);
|
||||
|
||||
applySettings();
|
||||
return true;
|
||||
}
|
||||
@ -153,7 +162,8 @@ TCPSrcGUI::TCPSrcGUI(PluginAPI* pluginAPI, QWidget* parent) :
|
||||
ui(new Ui::TCPSrcGUI),
|
||||
m_pluginAPI(pluginAPI),
|
||||
m_tcpSrc(NULL),
|
||||
m_basicSettingsShown(false)
|
||||
m_basicSettingsShown(false),
|
||||
m_doApplySettings(true)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
ui->connectedClientsBox->hide();
|
||||
@ -196,6 +206,12 @@ TCPSrcGUI::~TCPSrcGUI()
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void TCPSrcGUI::blockApplySettings(bool block)
|
||||
{
|
||||
m_channelizer->blockSignals(block);
|
||||
m_doApplySettings = !block;
|
||||
}
|
||||
|
||||
void TCPSrcGUI::applySettings()
|
||||
{
|
||||
bool ok;
|
||||
|
@ -56,6 +56,7 @@ private:
|
||||
int m_boost;
|
||||
int m_tcpPort;
|
||||
bool m_basicSettingsShown;
|
||||
bool m_doApplySettings;
|
||||
|
||||
// RF path
|
||||
Channelizer* m_channelizer;
|
||||
@ -64,6 +65,7 @@ private:
|
||||
explicit TCPSrcGUI(PluginAPI* pluginAPI, QWidget* parent = NULL);
|
||||
virtual ~TCPSrcGUI();
|
||||
|
||||
void blockApplySettings(bool block);
|
||||
void applySettings();
|
||||
|
||||
void addConnection(quint32 id, const QHostAddress& peerAddress, int peerPort);
|
||||
|
@ -55,11 +55,15 @@ qint64 WFMDemodGUI::getCenterFrequency() const
|
||||
|
||||
void WFMDemodGUI::resetToDefaults()
|
||||
{
|
||||
blockApplySettings(true);
|
||||
|
||||
ui->rfBW->setValue(4);
|
||||
ui->afBW->setValue(3);
|
||||
ui->volume->setValue(20);
|
||||
ui->squelch->setValue(-40);
|
||||
ui->deltaFrequency->setValue(0);
|
||||
|
||||
blockApplySettings(false);
|
||||
applySettings();
|
||||
}
|
||||
|
||||
@ -71,7 +75,6 @@ QByteArray WFMDemodGUI::serialize() const
|
||||
s.writeS32(3, ui->afBW->value());
|
||||
s.writeS32(4, ui->volume->value());
|
||||
s.writeS32(5, ui->squelch->value());
|
||||
//s.writeBlob(6, ui->spectrumGUI->serialize());
|
||||
s.writeU32(7, m_channelMarker->getColor().rgb());
|
||||
return s.final();
|
||||
}
|
||||
@ -91,6 +94,9 @@ bool WFMDemodGUI::deserialize(const QByteArray& data)
|
||||
QByteArray bytetmp;
|
||||
quint32 u32tmp;
|
||||
qint32 tmp;
|
||||
|
||||
blockApplySettings(true);
|
||||
|
||||
d.readS32(1, &tmp, 0);
|
||||
m_channelMarker->setCenterFrequency(tmp);
|
||||
d.readS32(2, &tmp, 4);
|
||||
@ -101,10 +107,14 @@ bool WFMDemodGUI::deserialize(const QByteArray& data)
|
||||
ui->volume->setValue(tmp);
|
||||
d.readS32(5, &tmp, -40);
|
||||
ui->squelch->setValue(tmp);
|
||||
//d.readBlob(6, &bytetmp);
|
||||
//ui->spectrumGUI->deserialize(bytetmp);
|
||||
|
||||
if(d.readU32(7, &u32tmp))
|
||||
{
|
||||
m_channelMarker->setColor(u32tmp);
|
||||
}
|
||||
|
||||
blockApplySettings(false);
|
||||
|
||||
applySettings();
|
||||
return true;
|
||||
}
|
||||
@ -228,6 +238,12 @@ WFMDemodGUI::~WFMDemodGUI()
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void WFMDemodGUI::blockApplySettings(bool block)
|
||||
{
|
||||
m_channelMarker->blockSignals(block);
|
||||
m_doApplySettings = !block;
|
||||
}
|
||||
|
||||
void WFMDemodGUI::applySettings()
|
||||
{
|
||||
setTitleColor(m_channelMarker->getColor());
|
||||
@ -248,11 +264,15 @@ void WFMDemodGUI::applySettings()
|
||||
|
||||
void WFMDemodGUI::leaveEvent(QEvent*)
|
||||
{
|
||||
blockApplySettings(true);
|
||||
m_channelMarker->setHighlighted(false);
|
||||
blockApplySettings(false);
|
||||
}
|
||||
|
||||
void WFMDemodGUI::enterEvent(QEvent*)
|
||||
{
|
||||
blockApplySettings(true);
|
||||
m_channelMarker->setHighlighted(true);
|
||||
blockApplySettings(false);
|
||||
}
|
||||
|
||||
|
@ -48,6 +48,7 @@ private:
|
||||
PluginAPI* m_pluginAPI;
|
||||
ChannelMarker* m_channelMarker;
|
||||
bool m_basicSettingsShown;
|
||||
bool m_doApplySettings;
|
||||
|
||||
AudioFifo* m_audioFifo;
|
||||
Channelizer* m_channelizer;
|
||||
@ -58,6 +59,7 @@ private:
|
||||
explicit WFMDemodGUI(PluginAPI* pluginAPI, QWidget* parent = NULL);
|
||||
virtual ~WFMDemodGUI();
|
||||
|
||||
void blockApplySettings(bool block);
|
||||
void applySettings();
|
||||
|
||||
void leaveEvent(QEvent*);
|
||||
|
@ -61,15 +61,11 @@ MainWindow::MainWindow(QWidget* parent) :
|
||||
delete ui->mainToolBar;
|
||||
createStatusBar();
|
||||
|
||||
qDebug() << "MainWindow::MainWindow: step #1";
|
||||
|
||||
setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea);
|
||||
setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);
|
||||
setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea);
|
||||
setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea);
|
||||
|
||||
qDebug() << "MainWindow::MainWindow: step #2";
|
||||
|
||||
// work around broken Qt dock widget ordering
|
||||
removeDockWidget(ui->inputDock);
|
||||
removeDockWidget(ui->processingDock);
|
||||
@ -80,26 +76,18 @@ MainWindow::MainWindow(QWidget* parent) :
|
||||
addDockWidget(Qt::LeftDockWidgetArea, ui->presetDock);
|
||||
addDockWidget(Qt::RightDockWidgetArea, ui->channelDock);
|
||||
|
||||
qDebug() << "MainWindow::MainWindow: step #3";
|
||||
|
||||
ui->inputDock->show();
|
||||
ui->processingDock->show();
|
||||
ui->presetDock->show();
|
||||
ui->channelDock->show();
|
||||
|
||||
qDebug() << "MainWindow::MainWindow: step #4";
|
||||
|
||||
ui->menu_Window->addAction(ui->inputDock->toggleViewAction());
|
||||
ui->menu_Window->addAction(ui->processingDock->toggleViewAction());
|
||||
ui->menu_Window->addAction(ui->presetDock->toggleViewAction());
|
||||
ui->menu_Window->addAction(ui->channelDock->toggleViewAction());
|
||||
|
||||
qDebug() << "MainWindow::MainWindow: step #5";
|
||||
|
||||
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleMessages()), Qt::QueuedConnection);
|
||||
|
||||
qDebug() << "MainWindow::MainWindow: step #6";
|
||||
|
||||
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
|
||||
m_statusTimer.start(500);
|
||||
|
||||
@ -107,14 +95,10 @@ MainWindow::MainWindow(QWidget* parent) :
|
||||
|
||||
m_pluginManager->loadPlugins();
|
||||
|
||||
qDebug() << "MainWindow::MainWindow: step #7";
|
||||
|
||||
bool sampleSourceSignalsBlocked = ui->sampleSource->blockSignals(true);
|
||||
m_pluginManager->fillSampleSourceSelector(ui->sampleSource);
|
||||
ui->sampleSource->blockSignals(sampleSourceSignalsBlocked);
|
||||
|
||||
qDebug() << "MainWindow::MainWindow: step #8 (was DSP engine start)";
|
||||
|
||||
m_spectrumVis = new SpectrumVis(ui->glSpectrum);
|
||||
m_dspEngine->addSink(m_spectrumVis);
|
||||
|
||||
@ -124,16 +108,14 @@ MainWindow::MainWindow(QWidget* parent) :
|
||||
ui->glSpectrum->connectTimer(m_masterTimer);
|
||||
ui->glSpectrumGUI->setBuddies(m_spectrumVis->getInputMessageQueue(), m_spectrumVis, ui->glSpectrum);
|
||||
|
||||
qDebug() << "MainWindow::MainWindow: step #9";
|
||||
qDebug() << "MainWindow::MainWindow: loadSettings...";
|
||||
|
||||
loadSettings();
|
||||
|
||||
qDebug() << "MainWindow::MainWindow: step #10";
|
||||
qDebug() << "MainWindow::MainWindow: select SampleSource from settings...";
|
||||
|
||||
int sampleSourceIndex = m_pluginManager->selectSampleSource(m_settings.getCurrent()->getSource()); // select SampleSource from settings
|
||||
|
||||
qDebug() << "MainWindow::MainWindow: step #11";
|
||||
|
||||
if(sampleSourceIndex >= 0)
|
||||
{
|
||||
bool sampleSourceSignalsBlocked = ui->sampleSource->blockSignals(true);
|
||||
@ -141,15 +123,15 @@ MainWindow::MainWindow(QWidget* parent) :
|
||||
ui->sampleSource->blockSignals(sampleSourceSignalsBlocked);
|
||||
}
|
||||
|
||||
qDebug() << "MainWindow::MainWindow: step #12";
|
||||
qDebug() << "MainWindow::MainWindow: load current settings...";
|
||||
|
||||
loadSettings(m_settings.getCurrent());
|
||||
|
||||
qDebug() << "MainWindow::MainWindow: step #13";
|
||||
qDebug() << "MainWindow::MainWindow: apply settings...";
|
||||
|
||||
applySettings();
|
||||
|
||||
qDebug() << "MainWindow::MainWindow: step #14";
|
||||
qDebug() << "MainWindow::MainWindow: update presets...";
|
||||
|
||||
updatePresets();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user