mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-07-19 01:05:35 -04:00
GLSpectrum: fixed settings and waterfall share serialization. Fixes #609
This commit is contained in:
parent
a88b2074c4
commit
97efda734f
@ -39,8 +39,10 @@ void GLSpectrumSettings::resetToDefaults()
|
|||||||
m_histogramStroke = 30;
|
m_histogramStroke = 30;
|
||||||
m_displayGridIntensity = 5;
|
m_displayGridIntensity = 5;
|
||||||
m_displayTraceIntensity = 50;
|
m_displayTraceIntensity = 50;
|
||||||
|
m_displayCurrent = true;
|
||||||
m_displayWaterfall = true;
|
m_displayWaterfall = true;
|
||||||
m_invertedWaterfall = false;
|
m_invertedWaterfall = true;
|
||||||
|
m_waterfallShare = 0.66;
|
||||||
m_displayMaxHold = false;
|
m_displayMaxHold = false;
|
||||||
m_displayHistogram = false;
|
m_displayHistogram = false;
|
||||||
m_displayGrid = false;
|
m_displayGrid = false;
|
||||||
@ -99,7 +101,7 @@ bool GLSpectrumSettings::deserialize(const QByteArray& data)
|
|||||||
d.readReal(4, &m_refLevel, 0);
|
d.readReal(4, &m_refLevel, 0);
|
||||||
d.readReal(5, &m_powerRange, 100);
|
d.readReal(5, &m_powerRange, 100);
|
||||||
d.readBool(6, &m_displayWaterfall, true);
|
d.readBool(6, &m_displayWaterfall, true);
|
||||||
d.readBool(7, &m_invertedWaterfall, false);
|
d.readBool(7, &m_invertedWaterfall, true);
|
||||||
d.readBool(8, &m_displayMaxHold, false);
|
d.readBool(8, &m_displayMaxHold, false);
|
||||||
d.readBool(9, &m_displayHistogram, false);
|
d.readBool(9, &m_displayHistogram, false);
|
||||||
d.readS32(10, &m_decay, 1);
|
d.readS32(10, &m_decay, 1);
|
||||||
@ -108,7 +110,7 @@ bool GLSpectrumSettings::deserialize(const QByteArray& data)
|
|||||||
d.readS32(13, &m_displayGridIntensity, 5);
|
d.readS32(13, &m_displayGridIntensity, 5);
|
||||||
d.readS32(14, &m_decayDivisor, 1);
|
d.readS32(14, &m_decayDivisor, 1);
|
||||||
d.readS32(15, &m_histogramStroke, 30);
|
d.readS32(15, &m_histogramStroke, 30);
|
||||||
d.readBool(16, &m_displayCurrent, false);
|
d.readBool(16, &m_displayCurrent, true);
|
||||||
d.readS32(17, &m_displayTraceIntensity, 50);
|
d.readS32(17, &m_displayTraceIntensity, 50);
|
||||||
d.readReal(18, &m_waterfallShare, 0.66);
|
d.readReal(18, &m_waterfallShare, 0.66);
|
||||||
d.readS32(19, &tmp, 0);
|
d.readS32(19, &tmp, 0);
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
MESSAGE_CLASS_DEFINITION(GLSpectrum::MsgReportSampleRate, Message)
|
MESSAGE_CLASS_DEFINITION(GLSpectrum::MsgReportSampleRate, Message)
|
||||||
|
MESSAGE_CLASS_DEFINITION(GLSpectrum::MsgReportWaterfallShare, Message)
|
||||||
|
|
||||||
GLSpectrum::GLSpectrum(QWidget* parent) :
|
GLSpectrum::GLSpectrum(QWidget* parent) :
|
||||||
QGLWidget(parent),
|
QGLWidget(parent),
|
||||||
@ -1909,6 +1910,10 @@ void GLSpectrum::mouseMoveEvent(QMouseEvent* event)
|
|||||||
m_waterfallShare = newShare;
|
m_waterfallShare = newShare;
|
||||||
m_changesPending = true;
|
m_changesPending = true;
|
||||||
|
|
||||||
|
if (m_messageQueueToGUI) {
|
||||||
|
m_messageQueueToGUI->push(new MsgReportWaterfallShare(m_waterfallShare));
|
||||||
|
}
|
||||||
|
|
||||||
update();
|
update();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -51,9 +51,7 @@ public:
|
|||||||
MsgReportSampleRate(quint32 sampleRate) :
|
MsgReportSampleRate(quint32 sampleRate) :
|
||||||
Message(),
|
Message(),
|
||||||
m_sampleRate(sampleRate)
|
m_sampleRate(sampleRate)
|
||||||
{
|
{}
|
||||||
m_sampleRate = sampleRate;
|
|
||||||
}
|
|
||||||
|
|
||||||
quint32 getSampleRate() const { return m_sampleRate; }
|
quint32 getSampleRate() const { return m_sampleRate; }
|
||||||
|
|
||||||
@ -61,6 +59,21 @@ public:
|
|||||||
quint32 m_sampleRate;
|
quint32 m_sampleRate;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class MsgReportWaterfallShare : public Message {
|
||||||
|
MESSAGE_CLASS_DECLARATION
|
||||||
|
|
||||||
|
public:
|
||||||
|
MsgReportWaterfallShare(Real waterfallShare) :
|
||||||
|
Message(),
|
||||||
|
m_waterfallShare(waterfallShare)
|
||||||
|
{}
|
||||||
|
|
||||||
|
Real getWaterfallShare() const { return m_waterfallShare; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
Real m_waterfallShare;
|
||||||
|
};
|
||||||
|
|
||||||
GLSpectrum(QWidget* parent = nullptr);
|
GLSpectrum(QWidget* parent = nullptr);
|
||||||
virtual ~GLSpectrum();
|
virtual ~GLSpectrum();
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ bool GLSpectrumGUI::deserialize(const QByteArray& data)
|
|||||||
{
|
{
|
||||||
if (m_settings.deserialize(data))
|
if (m_settings.deserialize(data))
|
||||||
{
|
{
|
||||||
displaySettings();
|
displaySettings(); // ends with blockApplySettings(false)
|
||||||
applySettings();
|
applySettings();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -173,6 +173,7 @@ void GLSpectrumGUI::applySettings()
|
|||||||
m_glSpectrum->setDisplayGrid(m_settings.m_displayGrid);
|
m_glSpectrum->setDisplayGrid(m_settings.m_displayGrid);
|
||||||
m_glSpectrum->setDisplayGridIntensity(m_settings.m_displayGridIntensity);
|
m_glSpectrum->setDisplayGridIntensity(m_settings.m_displayGridIntensity);
|
||||||
m_glSpectrum->setDisplayTraceIntensity(m_settings.m_displayTraceIntensity);
|
m_glSpectrum->setDisplayTraceIntensity(m_settings.m_displayTraceIntensity);
|
||||||
|
m_glSpectrum->setWaterfallShare(m_settings.m_waterfallShare);
|
||||||
|
|
||||||
if ((m_settings.m_averagingMode == GLSpectrumSettings::AvgModeFixed) || (m_settings.m_averagingMode == GLSpectrumSettings::AvgModeMax)) {
|
if ((m_settings.m_averagingMode == GLSpectrumSettings::AvgModeFixed) || (m_settings.m_averagingMode == GLSpectrumSettings::AvgModeMax)) {
|
||||||
m_glSpectrum->setTimingRate(getAveragingValue(m_settings.m_averagingIndex, m_settings.m_averagingMode) == 0 ?
|
m_glSpectrum->setTimingRate(getAveragingValue(m_settings.m_averagingIndex, m_settings.m_averagingMode) == 0 ?
|
||||||
@ -492,6 +493,11 @@ bool GLSpectrumGUI::handleMessage(const Message& message)
|
|||||||
setAveragingToolitp();
|
setAveragingToolitp();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
else if (GLSpectrum::MsgReportWaterfallShare::match(message))
|
||||||
|
{
|
||||||
|
const GLSpectrum::MsgReportWaterfallShare& report = (const GLSpectrum::MsgReportWaterfallShare&) message;
|
||||||
|
m_settings.m_waterfallShare = report.getWaterfallShare();
|
||||||
|
}
|
||||||
else if (SpectrumVis::MsgStartStop::match(message))
|
else if (SpectrumVis::MsgStartStop::match(message))
|
||||||
{
|
{
|
||||||
const SpectrumVis::MsgStartStop& msg = (SpectrumVis::MsgStartStop&) message;
|
const SpectrumVis::MsgStartStop& msg = (SpectrumVis::MsgStartStop&) message;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user