| 
									
										
										
										
											2019-12-09 20:58:20 +02:00
										 |  |  | // SPDX-License-Identifier: GPL-2.0
 | 
					
						
							|  |  |  | #include "qPrefLog.h"
 | 
					
						
							|  |  |  | #include "qPrefPrivate.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static const QString group = QStringLiteral("LogSettings"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | qPrefLog *qPrefLog::instance() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	static qPrefLog *self = new qPrefLog; | 
					
						
							|  |  |  | 	return self; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void qPrefLog::loadSync(bool doSync) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	disk_default_filename(doSync); | 
					
						
							|  |  |  | 	disk_default_file_behavior(doSync); | 
					
						
							|  |  |  | 	disk_use_default_file(doSync); | 
					
						
							|  |  |  | 	disk_extraEnvironmentalDefault(doSync); | 
					
						
							| 
									
										
										
										
											2019-11-19 11:52:33 +02:00
										 |  |  | 	disk_salinityEditDefault(doSync); | 
					
						
							| 
									
										
										
										
											2019-12-09 20:58:20 +02:00
										 |  |  | 	disk_show_average_depth(doSync); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void qPrefLog::set_default_file_behavior(enum def_file_behavior value) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	if (value != prefs.default_file_behavior || | 
					
						
							|  |  |  | 		prefs.default_file_behavior != UNDEFINED_DEFAULT_FILE) { | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-28 10:16:55 -08:00
										 |  |  | 		if (value == UNDEFINED_DEFAULT_FILE) { | 
					
						
							|  |  |  | 			// undefined, so check if there's a filename set and
 | 
					
						
							|  |  |  | 			// use that, otherwise go with no default file
 | 
					
						
							|  |  |  | 			prefs.default_file_behavior = QString(prefs.default_filename).isEmpty() ? NO_DEFAULT_FILE : LOCAL_DEFAULT_FILE; | 
					
						
							|  |  |  | 		} else { | 
					
						
							|  |  |  | 			prefs.default_file_behavior = value; | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		disk_default_file_behavior(true); | 
					
						
							|  |  |  | 		emit instance()->default_file_behaviorChanged(value); | 
					
						
							| 
									
										
										
										
											2019-12-09 20:58:20 +02:00
										 |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | void qPrefLog::disk_default_file_behavior(bool doSync) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	if (doSync) { | 
					
						
							|  |  |  | 		qPrefPrivate::propSetValue(keyFromGroupAndName(group, "default_file_behavior"), prefs.default_file_behavior, default_prefs.default_file_behavior); | 
					
						
							|  |  |  | 	} else { | 
					
						
							|  |  |  | 		prefs.default_file_behavior = (enum def_file_behavior)qPrefPrivate::propValue(keyFromGroupAndName(group, "default_file_behavior"), default_prefs.default_file_behavior).toInt(); | 
					
						
							|  |  |  | 		if (prefs.default_file_behavior == UNDEFINED_DEFAULT_FILE) | 
					
						
							|  |  |  | 			// undefined, so check if there's a filename set and
 | 
					
						
							|  |  |  | 			// use that, otherwise go with no default file
 | 
					
						
							|  |  |  | 			prefs.default_file_behavior = QString(prefs.default_filename).isEmpty() ? NO_DEFAULT_FILE : LOCAL_DEFAULT_FILE; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-12 10:28:04 +02:00
										 |  |  | HANDLE_PREFERENCE_TXT(Log, "default_filename", default_filename); | 
					
						
							| 
									
										
										
										
											2019-12-09 20:58:20 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | HANDLE_PREFERENCE_BOOL(Log, "extraEnvironmentalDefault", extraEnvironmentalDefault); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | HANDLE_PREFERENCE_BOOL(Log, "use_default_file", use_default_file); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-19 11:52:33 +02:00
										 |  |  | HANDLE_PREFERENCE_BOOL(Log, "salinityEditDefault", salinityEditDefault); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-09 20:58:20 +02:00
										 |  |  | HANDLE_PREFERENCE_BOOL(Log, "show_average_depth", show_average_depth); | 
					
						
							|  |  |  | 
 |