mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-27 20:58:47 +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…
Reference in a new issue