| 
									
										
										
										
											2014-05-18 16:52:39 +01:00
										 |  |  | #include "settings/preferences.h"
 | 
					
						
							|  |  |  | #include "util/simpleserializer.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Preferences::Preferences() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	resetToDefaults(); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void Preferences::resetToDefaults() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	m_sourceType.clear(); | 
					
						
							|  |  |  | 	m_sourceDevice.clear(); | 
					
						
							|  |  |  | 	m_audioType.clear(); | 
					
						
							|  |  |  | 	m_audioDevice.clear(); | 
					
						
							| 
									
										
										
										
											2015-10-05 04:47:23 +02:00
										 |  |  | 	m_sourceIndex = 0; | 
					
						
							| 
									
										
										
										
											2016-09-28 13:38:38 +02:00
										 |  |  | 	m_latitude = 0.0; | 
					
						
							|  |  |  | 	m_longitude = 0.0; | 
					
						
							| 
									
										
										
										
											2017-11-11 19:26:23 +01:00
										 |  |  | 	m_useLogFile = false; | 
					
						
							|  |  |  | 	m_logFileName = "sdrangel.log"; | 
					
						
							| 
									
										
										
										
											2017-11-12 02:23:55 +01:00
										 |  |  | 	m_consoleMinLogLevel = QtDebugMsg; | 
					
						
							|  |  |  |     m_fileMinLogLevel = QtDebugMsg; | 
					
						
							| 
									
										
										
										
											2014-05-18 16:52:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | QByteArray Preferences::serialize() const | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	SimpleSerializer s(1); | 
					
						
							|  |  |  | 	s.writeString(1, m_sourceType); | 
					
						
							|  |  |  | 	s.writeString(2, m_sourceDevice); | 
					
						
							|  |  |  | 	s.writeString(3, m_audioType); | 
					
						
							|  |  |  | 	s.writeString(4, m_audioDevice); | 
					
						
							| 
									
										
										
										
											2015-10-02 02:22:56 +02:00
										 |  |  | 	s.writeS32(5, m_sourceIndex); | 
					
						
							| 
									
										
										
										
											2016-09-28 13:38:38 +02:00
										 |  |  | 	s.writeFloat(6, m_latitude); | 
					
						
							|  |  |  | 	s.writeFloat(7, m_longitude); | 
					
						
							| 
									
										
										
										
											2017-11-12 02:23:55 +01:00
										 |  |  | 	s.writeS32(8, (int) m_consoleMinLogLevel); | 
					
						
							| 
									
										
										
										
											2017-11-11 19:26:23 +01:00
										 |  |  | 	s.writeBool(9, m_useLogFile); | 
					
						
							|  |  |  | 	s.writeString(10, m_logFileName); | 
					
						
							| 
									
										
										
										
											2017-11-12 02:23:55 +01:00
										 |  |  |     s.writeS32(11, (int) m_fileMinLogLevel); | 
					
						
							| 
									
										
										
										
											2014-05-18 16:52:39 +01:00
										 |  |  | 	return s.final(); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | bool Preferences::deserialize(const QByteArray& data) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2017-11-11 19:26:23 +01:00
										 |  |  |     int tmpInt; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-05-18 16:52:39 +01:00
										 |  |  | 	SimpleDeserializer d(data); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	if(!d.isValid()) { | 
					
						
							|  |  |  | 		resetToDefaults(); | 
					
						
							|  |  |  | 		return false; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-12 02:23:55 +01:00
										 |  |  | 	if(d.getVersion() == 1) | 
					
						
							|  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2014-05-18 16:52:39 +01:00
										 |  |  | 		d.readString(1, &m_sourceType); | 
					
						
							|  |  |  | 		d.readString(2, &m_sourceDevice); | 
					
						
							|  |  |  | 		d.readString(3, &m_audioType); | 
					
						
							|  |  |  | 		d.readString(4, &m_audioDevice); | 
					
						
							| 
									
										
										
										
											2015-10-05 04:47:23 +02:00
										 |  |  | 		d.readS32(5, &m_sourceIndex, 0); | 
					
						
							| 
									
										
										
										
											2016-09-28 13:38:38 +02:00
										 |  |  | 		d.readFloat(6, &m_latitude, 0.0); | 
					
						
							|  |  |  | 		d.readFloat(7, &m_longitude, 0.0); | 
					
						
							| 
									
										
										
										
											2017-11-11 19:26:23 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		d.readS32(8, &tmpInt, (int) QtDebugMsg); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		if ((tmpInt == (int) QtDebugMsg) || | 
					
						
							|  |  |  | 		    (tmpInt == (int) QtInfoMsg) || | 
					
						
							|  |  |  | 		    (tmpInt == (int) QtWarningMsg) || | 
					
						
							|  |  |  | 		    (tmpInt == (int) QtCriticalMsg) || | 
					
						
							|  |  |  | 		    (tmpInt == (int) QtFatalMsg)) { | 
					
						
							| 
									
										
										
										
											2017-11-12 02:23:55 +01:00
										 |  |  |             m_consoleMinLogLevel = (QtMsgType) tmpInt; | 
					
						
							| 
									
										
										
										
											2017-11-11 19:26:23 +01:00
										 |  |  | 		} else { | 
					
						
							| 
									
										
										
										
											2017-11-12 02:23:55 +01:00
										 |  |  | 		    m_consoleMinLogLevel = QtDebugMsg; | 
					
						
							| 
									
										
										
										
											2017-11-11 19:26:23 +01:00
										 |  |  | 		} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		d.readBool(9, &m_useLogFile, false); | 
					
						
							|  |  |  | 		d.readString(10, &m_logFileName, "sdrangel.log"); | 
					
						
							| 
									
										
										
										
											2017-11-12 02:23:55 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |         d.readS32(11, &tmpInt, (int) QtDebugMsg); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if ((tmpInt == (int) QtDebugMsg) || | 
					
						
							|  |  |  |             (tmpInt == (int) QtInfoMsg) || | 
					
						
							|  |  |  |             (tmpInt == (int) QtWarningMsg) || | 
					
						
							|  |  |  |             (tmpInt == (int) QtCriticalMsg) || | 
					
						
							|  |  |  |             (tmpInt == (int) QtFatalMsg)) { | 
					
						
							|  |  |  |             m_fileMinLogLevel = (QtMsgType) tmpInt; | 
					
						
							|  |  |  |         } else { | 
					
						
							|  |  |  |             m_fileMinLogLevel = QtDebugMsg; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-05-18 16:52:39 +01:00
										 |  |  | 		return true; | 
					
						
							| 
									
										
										
										
											2017-11-12 02:23:55 +01:00
										 |  |  | 	} else | 
					
						
							|  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2014-05-18 16:52:39 +01:00
										 |  |  | 		resetToDefaults(); | 
					
						
							|  |  |  | 		return false; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } |