1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-25 09:18:54 -05:00
sdrangel/sdrbase/settings/preferences.cpp
Jon Beniston 1a9b6d1763 Add ADS-B Demodulator plugin.
Add GS232 Rotator Controller feature plugin.
Add altitude and station name to My Positon.
Use QtDeploy to ensure all required Qt libraries are included (Should
fix OpenGL issues)
2020-10-27 16:22:10 +00:00

99 lines
2.4 KiB
C++

#include "settings/preferences.h"
#include "util/simpleserializer.h"
Preferences::Preferences()
{
resetToDefaults();
}
void Preferences::resetToDefaults()
{
m_sourceDevice.clear();
m_audioType.clear();
m_audioDevice.clear();
m_sourceIndex = 0;
m_stationName = "Home";
m_latitude = 49.012423; // Set an interesting location so map doesn't open up in the middle of the ocean
m_longitude = 8.418125;
m_altitude = 0.0f;
m_useLogFile = false;
m_logFileName = "sdrangel.log";
m_consoleMinLogLevel = QtDebugMsg;
m_fileMinLogLevel = QtDebugMsg;
}
QByteArray Preferences::serialize() const
{
SimpleSerializer s(1);
s.writeString(2, m_sourceDevice);
s.writeString(3, m_audioType);
s.writeString(4, m_audioDevice);
s.writeS32(5, m_sourceIndex);
s.writeFloat(6, m_latitude);
s.writeFloat(7, m_longitude);
s.writeS32(8, (int) m_consoleMinLogLevel);
s.writeBool(9, m_useLogFile);
s.writeString(10, m_logFileName);
s.writeS32(11, (int) m_fileMinLogLevel);
s.writeString(12, m_stationName);
s.writeFloat(13, m_altitude);
return s.final();
}
bool Preferences::deserialize(const QByteArray& data)
{
int tmpInt;
SimpleDeserializer d(data);
if(!d.isValid()) {
resetToDefaults();
return false;
}
if(d.getVersion() == 1)
{
d.readString(2, &m_sourceDevice);
d.readString(3, &m_audioType);
d.readString(4, &m_audioDevice);
d.readS32(5, &m_sourceIndex, 0);
d.readFloat(6, &m_latitude, 0.0f);
d.readFloat(7, &m_longitude, 0.0f);
d.readS32(8, &tmpInt, (int) QtDebugMsg);
if ((tmpInt == (int) QtDebugMsg) ||
(tmpInt == (int) QtInfoMsg) ||
(tmpInt == (int) QtWarningMsg) ||
(tmpInt == (int) QtCriticalMsg) ||
(tmpInt == (int) QtFatalMsg)) {
m_consoleMinLogLevel = (QtMsgType) tmpInt;
} else {
m_consoleMinLogLevel = QtDebugMsg;
}
d.readBool(9, &m_useLogFile, false);
d.readString(10, &m_logFileName, "sdrangel.log");
d.readS32(11, &tmpInt, (int) QtDebugMsg);
d.readString(12, &m_stationName, "Home");
d.readFloat(13, &m_altitude, 0.0f);
if ((tmpInt == (int) QtDebugMsg) ||
(tmpInt == (int) QtInfoMsg) ||
(tmpInt == (int) QtWarningMsg) ||
(tmpInt == (int) QtCriticalMsg) ||
(tmpInt == (int) QtFatalMsg)) {
m_fileMinLogLevel = (QtMsgType) tmpInt;
} else {
m_fileMinLogLevel = QtDebugMsg;
}
return true;
} else
{
resetToDefaults();
return false;
}
}