mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	cleanup: move pref related structs and functions to pref.c
These were declared in pref.h and defined in subsurfacestartup.c. pref.c didn't even exist. Create it and move preferences-related structs and functions there. setup_system_prefs() is left in subsurfacestartup.c, since it works with environment variables. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
		
							parent
							
								
									91ffa5a59a
								
							
						
					
					
						commit
						fdde4c23ea
					
				
					 4 changed files with 134 additions and 127 deletions
				
			
		|  | @ -46,6 +46,7 @@ SOURCES += subsurface-mobile-main.cpp \ | |||
| 	core/file.c \ | ||||
| 	core/fulltext.cpp \ | ||||
| 	core/subsurfacestartup.c \ | ||||
| 	core/pref.c \ | ||||
| 	core/profile.c \ | ||||
| 	core/device.cpp \ | ||||
| 	core/dive.c \ | ||||
|  |  | |||
|  | @ -143,6 +143,7 @@ set(SUBSURFACE_CORE_LIB_SRCS | |||
| 	planner.h | ||||
| 	plannernotes.c | ||||
| 	pref.h | ||||
| 	pref.c | ||||
| 	profile.c | ||||
| 	profile.h | ||||
| 	qt-gui.h | ||||
|  |  | |||
							
								
								
									
										128
									
								
								core/pref.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										128
									
								
								core/pref.c
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,128 @@ | |||
| // SPDX-License-Identifier: GPL-2.0
 | ||||
| #include "pref.h" | ||||
| #include "subsurface-string.h" | ||||
| 
 | ||||
| struct preferences prefs, git_prefs; | ||||
| struct preferences default_prefs = { | ||||
| 	.cloud_base_url = "https://cloud.subsurface-divelog.org/", | ||||
| 	.units = SI_UNITS, | ||||
| 	.unit_system = METRIC, | ||||
| 	.coordinates_traditional = true, | ||||
| 	.pp_graphs = { | ||||
| 		.po2 = false, | ||||
| 		.pn2 = false, | ||||
| 		.phe = false, | ||||
| 		.po2_threshold_min = 0.16, | ||||
| 		.po2_threshold_max = 1.6, | ||||
| 		.pn2_threshold = 4.0, | ||||
| 		.phe_threshold = 13.0, | ||||
| 	}, | ||||
| 	.mod = false, | ||||
| 	.modpO2 = 1.6, | ||||
| 	.ead = false, | ||||
| 	.hrgraph = false, | ||||
| 	.percentagegraph = false, | ||||
| 	.dcceiling = true, | ||||
| 	.redceiling = false, | ||||
| 	.calcceiling = false, | ||||
| 	.calcceiling3m = false, | ||||
| 	.calcndltts = false, | ||||
| 	.decoinfo = true, | ||||
| 	.gflow = 30, | ||||
| 	.gfhigh = 75, | ||||
| 	.animation_speed = 500, | ||||
| 	.gf_low_at_maxdepth = false, | ||||
| 	.show_ccr_setpoint = false, | ||||
| 	.show_ccr_sensors = false, | ||||
| 	.show_scr_ocpo2 = false, | ||||
| 	.font_size = -1, | ||||
| 	.mobile_scale = 1.0, | ||||
| 	.display_invalid_dives = false, | ||||
| 	.show_sac = false, | ||||
| 	.display_unused_tanks = false, | ||||
| 	.display_default_tank_infos = true, | ||||
| 	.show_average_depth = true, | ||||
| 	.show_icd = false, | ||||
| 	.ascrate75 = 9000 / 60, | ||||
| 	.ascrate50 = 9000 / 60, | ||||
| 	.ascratestops = 9000 / 60, | ||||
| 	.ascratelast6m = 9000 / 60, | ||||
| 	.descrate = 18000 / 60, | ||||
| 	.sacfactor = 400, | ||||
| 	.problemsolvingtime = 4, | ||||
| 	.bottompo2 = 1400, | ||||
| 	.decopo2 = 1600, | ||||
| 	.bestmixend.mm = 30000, | ||||
| 	.doo2breaks = false, | ||||
| 	.dobailout = false, | ||||
| 	.drop_stone_mode = false, | ||||
| 	.switch_at_req_stop = false, | ||||
| 	.min_switch_duration = 60, | ||||
| 	.surface_segment = 0, | ||||
| 	.last_stop = false, | ||||
| 	.verbatim_plan = false, | ||||
| 	.display_runtime = true, | ||||
| 	.display_duration = true, | ||||
| 	.display_transitions = true, | ||||
| 	.display_variations = false, | ||||
| 	.o2narcotic = true, | ||||
| 	.safetystop = true, | ||||
| 	.bottomsac = 20000, | ||||
| 	.decosac = 17000, | ||||
| 	.reserve_gas=40000, | ||||
| 	.o2consumption = 720, | ||||
| 	.pscr_ratio = 100, | ||||
| 	.show_pictures_in_profile = true, | ||||
| 	.tankbar = false, | ||||
| 	.defaultsetpoint = 1100, | ||||
| 	.geocoding = { | ||||
| 		.category = { 0 } | ||||
| 	}, | ||||
| 	.locale = { | ||||
| 		.use_system_language = true, | ||||
| 	}, | ||||
| 	.planner_deco_mode = BUEHLMANN, | ||||
| 	.vpmb_conservatism = 3, | ||||
| 	.distance_threshold = 100, | ||||
| 	.time_threshold = 300, | ||||
| #if defined(SUBSURFACE_MOBILE) | ||||
| 	.cloud_timeout = 10, | ||||
| #else | ||||
| 	.cloud_timeout = 5, | ||||
| #endif | ||||
| 	.auto_recalculate_thumbnails = true, | ||||
| 	.extract_video_thumbnails = true, | ||||
| 	.extract_video_thumbnails_position = 20,		// The first fifth seems like a reasonable place
 | ||||
| }; | ||||
| 
 | ||||
| /* copy a preferences block, including making copies of all included strings */ | ||||
| void copy_prefs(struct preferences *src, struct preferences *dest) | ||||
| { | ||||
| 	*dest = *src; | ||||
| 	dest->divelist_font = copy_string(src->divelist_font); | ||||
| 	dest->default_filename = copy_string(src->default_filename); | ||||
| 	dest->default_cylinder = copy_string(src->default_cylinder); | ||||
| 	dest->cloud_base_url = copy_string(src->cloud_base_url); | ||||
| 	dest->cloud_git_url = copy_string(src->cloud_git_url); | ||||
| 	dest->proxy_host = copy_string(src->proxy_host); | ||||
| 	dest->proxy_user = copy_string(src->proxy_user); | ||||
| 	dest->proxy_pass = copy_string(src->proxy_pass); | ||||
| 	dest->time_format = copy_string(src->time_format); | ||||
| 	dest->date_format = copy_string(src->date_format); | ||||
| 	dest->date_format_short = copy_string(src->date_format_short); | ||||
| 	dest->cloud_storage_password = copy_string(src->cloud_storage_password); | ||||
| 	dest->cloud_storage_email = copy_string(src->cloud_storage_email); | ||||
| 	dest->cloud_storage_email_encoded = copy_string(src->cloud_storage_email_encoded); | ||||
| 	dest->ffmpeg_executable = copy_string(src->ffmpeg_executable); | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  * Free strduped prefs before exit. | ||||
|  * | ||||
|  * These are not real leaks but they plug the holes found by eg. | ||||
|  * valgrind so you can find the real leaks. | ||||
|  */ | ||||
| void free_prefs(void) | ||||
| { | ||||
| 	// nop
 | ||||
| } | ||||
|  | @ -2,108 +2,17 @@ | |||
| #include "subsurfacestartup.h" | ||||
| #include "subsurface-string.h" | ||||
| #include "version.h" | ||||
| #include <stdbool.h> | ||||
| #include <string.h> | ||||
| #include "errorhelper.h" | ||||
| #include "gettext.h" | ||||
| #include "qthelper.h" | ||||
| #include "git-access.h" | ||||
| #include "pref.h" | ||||
| #include "libdivecomputer/version.h" | ||||
| 
 | ||||
| extern void show_computer_list(); | ||||
| #include <stdbool.h> | ||||
| #include <string.h> | ||||
| 
 | ||||
| struct preferences prefs, git_prefs; | ||||
| struct preferences default_prefs = { | ||||
| 	.cloud_base_url = "https://cloud.subsurface-divelog.org/", | ||||
| 	.units = SI_UNITS, | ||||
| 	.unit_system = METRIC, | ||||
| 	.coordinates_traditional = true, | ||||
| 	.pp_graphs = { | ||||
| 		.po2 = false, | ||||
| 		.pn2 = false, | ||||
| 		.phe = false, | ||||
| 		.po2_threshold_min = 0.16, | ||||
| 		.po2_threshold_max = 1.6, | ||||
| 		.pn2_threshold = 4.0, | ||||
| 		.phe_threshold = 13.0, | ||||
| 	}, | ||||
| 	.mod = false, | ||||
| 	.modpO2 = 1.6, | ||||
| 	.ead = false, | ||||
| 	.hrgraph = false, | ||||
| 	.percentagegraph = false, | ||||
| 	.dcceiling = true, | ||||
| 	.redceiling = false, | ||||
| 	.calcceiling = false, | ||||
| 	.calcceiling3m = false, | ||||
| 	.calcndltts = false, | ||||
| 	.decoinfo = true, | ||||
| 	.gflow = 30, | ||||
| 	.gfhigh = 75, | ||||
| 	.animation_speed = 500, | ||||
| 	.gf_low_at_maxdepth = false, | ||||
| 	.show_ccr_setpoint = false, | ||||
| 	.show_ccr_sensors = false, | ||||
| 	.show_scr_ocpo2 = false, | ||||
| 	.font_size = -1, | ||||
| 	.mobile_scale = 1.0, | ||||
| 	.display_invalid_dives = false, | ||||
| 	.show_sac = false, | ||||
| 	.display_unused_tanks = false, | ||||
| 	.display_default_tank_infos = true, | ||||
| 	.show_average_depth = true, | ||||
| 	.show_icd = false, | ||||
| 	.ascrate75 = 9000 / 60, | ||||
| 	.ascrate50 = 9000 / 60, | ||||
| 	.ascratestops = 9000 / 60, | ||||
| 	.ascratelast6m = 9000 / 60, | ||||
| 	.descrate = 18000 / 60, | ||||
| 	.sacfactor = 400, | ||||
| 	.problemsolvingtime = 4, | ||||
| 	.bottompo2 = 1400, | ||||
| 	.decopo2 = 1600, | ||||
| 	.bestmixend.mm = 30000, | ||||
| 	.doo2breaks = false, | ||||
| 	.dobailout = false, | ||||
| 	.drop_stone_mode = false, | ||||
| 	.switch_at_req_stop = false, | ||||
| 	.min_switch_duration = 60, | ||||
| 	.surface_segment = 0, | ||||
| 	.last_stop = false, | ||||
| 	.verbatim_plan = false, | ||||
| 	.display_runtime = true, | ||||
| 	.display_duration = true, | ||||
| 	.display_transitions = true, | ||||
| 	.display_variations = false, | ||||
| 	.o2narcotic = true, | ||||
| 	.safetystop = true, | ||||
| 	.bottomsac = 20000, | ||||
| 	.decosac = 17000, | ||||
| 	.reserve_gas=40000, | ||||
| 	.o2consumption = 720, | ||||
| 	.pscr_ratio = 100, | ||||
| 	.show_pictures_in_profile = true, | ||||
| 	.tankbar = false, | ||||
| 	.defaultsetpoint = 1100, | ||||
| 	.geocoding = { | ||||
| 		.category = { 0 } | ||||
| 	}, | ||||
| 	.locale = { | ||||
| 		.use_system_language = true, | ||||
| 	}, | ||||
| 	.planner_deco_mode = BUEHLMANN, | ||||
| 	.vpmb_conservatism = 3, | ||||
| 	.distance_threshold = 100, | ||||
| 	.time_threshold = 300, | ||||
| #if defined(SUBSURFACE_MOBILE) | ||||
| 	.cloud_timeout = 10, | ||||
| #else | ||||
| 	.cloud_timeout = 5, | ||||
| #endif | ||||
| 	.auto_recalculate_thumbnails = true, | ||||
| 	.extract_video_thumbnails = true, | ||||
| 	.extract_video_thumbnails_position = 20,		// The first fifth seems like a reasonable place
 | ||||
| }; | ||||
| extern void show_computer_list(); | ||||
| 
 | ||||
| int quit, force_root, ignore_bt; | ||||
| #ifdef SUBSURFACE_MOBILE_DESKTOP | ||||
|  | @ -317,35 +226,3 @@ void setup_system_prefs(void) | |||
| 
 | ||||
| 	default_prefs.units = IMPERIAL_units; | ||||
| } | ||||
| 
 | ||||
| /* copy a preferences block, including making copies of all included strings */ | ||||
| void copy_prefs(struct preferences *src, struct preferences *dest) | ||||
| { | ||||
| 	*dest = *src; | ||||
| 	dest->divelist_font = copy_string(src->divelist_font); | ||||
| 	dest->default_filename = copy_string(src->default_filename); | ||||
| 	dest->default_cylinder = copy_string(src->default_cylinder); | ||||
| 	dest->cloud_base_url = copy_string(src->cloud_base_url); | ||||
| 	dest->cloud_git_url = copy_string(src->cloud_git_url); | ||||
| 	dest->proxy_host = copy_string(src->proxy_host); | ||||
| 	dest->proxy_user = copy_string(src->proxy_user); | ||||
| 	dest->proxy_pass = copy_string(src->proxy_pass); | ||||
| 	dest->time_format = copy_string(src->time_format); | ||||
| 	dest->date_format = copy_string(src->date_format); | ||||
| 	dest->date_format_short = copy_string(src->date_format_short); | ||||
| 	dest->cloud_storage_password = copy_string(src->cloud_storage_password); | ||||
| 	dest->cloud_storage_email = copy_string(src->cloud_storage_email); | ||||
| 	dest->cloud_storage_email_encoded = copy_string(src->cloud_storage_email_encoded); | ||||
| 	dest->ffmpeg_executable = copy_string(src->ffmpeg_executable); | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  * Free strduped prefs before exit. | ||||
|  * | ||||
|  * These are not real leaks but they plug the holes found by eg. | ||||
|  * valgrind so you can find the real leaks. | ||||
|  */ | ||||
| void free_prefs(void) | ||||
| { | ||||
| 	// nop
 | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue