mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
a38ea971a0
Add an option for users to sync the dive computer time with the PC time every time dives are downloaded. Obviously this will only work on dive computers that have time synchronisation support in libdivecomputer, for other computers a notice is logged. The selection for this option is persisted as a preference. Signed-off-by: Michael Keller <github@ike.ch>
128 lines
3.5 KiB
C
128 lines
3.5 KiB
C
// SPDX-License-Identifier: GPL-2.0
|
|
#include "pref.h"
|
|
#include "subsurface-string.h"
|
|
#include "git-access.h" // for CLOUD_HOST
|
|
|
|
struct preferences prefs, git_prefs;
|
|
struct preferences default_prefs = {
|
|
.cloud_base_url = "https://" CLOUD_HOST_EU "/", // if we don't know any better, use the European host
|
|
.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,
|
|
#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
|
|
.three_m_based_grid = false,
|
|
.sync_dc_time = false,
|
|
};
|
|
|
|
/* 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->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
|
|
}
|