1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-07 00:14:49 -04:00

Morse Decoder: basic functionality

This commit is contained in:
f4exb
2024-05-17 18:24:36 +02:00
parent 4387f54f0d
commit 39bc799509
11 changed files with 437 additions and 81 deletions
@@ -51,6 +51,7 @@ void MorseDecoderSettings::resetToDefaults()
m_udpPort = 9999;
m_logFilename = "cw_log.txt";
m_logEnabled = false;
m_auto = true;
}
QByteArray MorseDecoderSettings::serialize() const
@@ -77,6 +78,7 @@ QByteArray MorseDecoderSettings::serialize() const
s.writeU32(24, m_udpPort);
s.writeString(25, m_logFilename);
s.writeBool(26, m_logEnabled);
s.writeBool(27, m_auto);
return s.final();
}
@@ -135,6 +137,7 @@ bool MorseDecoderSettings::deserialize(const QByteArray& data)
d.readString(25, &m_logFilename, "cw_log.txt");
d.readBool(26, &m_logEnabled, false);
d.readBool(27, &m_auto, true);
return true;
}
@@ -186,6 +189,15 @@ void MorseDecoderSettings::applySettings(const QStringList& settingsKeys, const
if (settingsKeys.contains("logFilename")) {
m_logFilename = settings.m_logFilename;
}
if (settingsKeys.contains("auto")) {
m_auto = settings.m_auto;
}
if (settingsKeys.contains("logEnabled")) {
m_logEnabled = settings.m_logEnabled;
}
if (settingsKeys.contains("logFilename")) {
m_logFilename = settings.m_logFilename;
}
}
QString MorseDecoderSettings::getDebugString(const QStringList& settingsKeys, bool force) const
@@ -231,6 +243,33 @@ QString MorseDecoderSettings::getDebugString(const QStringList& settingsKeys, bo
if (settingsKeys.contains("logFilename") || force) {
ostr << " m_logFilename: " << m_logFilename.toStdString();
}
if (settingsKeys.contains("auto") || force) {
ostr << " m_auto: " << m_auto;
}
if (settingsKeys.contains("logEnabled") || force) {
ostr << " m_logEnabled: " << m_logEnabled;
}
if (settingsKeys.contains("logFilename") || force) {
ostr << " m_logFilename: " << m_logFilename.toStdString();
}
return QString(ostr.str().c_str());
}
QString MorseDecoderSettings::formatText(const QString& text)
{
// Format text
QString showText = text.simplified();
if (text.size() > 3)
{
if (text.right(1)[0].isSpace()) {
showText.append(text.right(1));
}
if (text.left(1)[0].isSpace()) {
showText = text.left(1) + showText;
}
}
return showText;
}