mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
fe0bb905f3
Convert both files simultanously, because the SI_UNITS define works either under C or under C++. This was painful, because initialization of struct-members has to be done in order of definition in C++. And it was completely out of order. However, as long as not all is C++, we can't use default initialization directly in the struct definition. :( Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
155 lines
4.3 KiB
C++
155 lines
4.3 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 = {
|
|
.animation_speed = 500,
|
|
.cloud_base_url = "https://" CLOUD_HOST_EU "/", // if we don't know any better, use the European host
|
|
#if defined(SUBSURFACE_MOBILE)
|
|
.cloud_timeout = 10,
|
|
#else
|
|
.cloud_timeout = 5,
|
|
#endif
|
|
.sync_dc_time = false,
|
|
.display_invalid_dives = false,
|
|
.divelist_font = NULL,
|
|
.font_size = -1,
|
|
.mobile_scale = 1.0,
|
|
.show_developer = true,
|
|
.three_m_based_grid = false,
|
|
.map_short_names = false,
|
|
.default_cylinder = NULL,
|
|
.include_unused_tanks = false,
|
|
.display_default_tank_infos = true,
|
|
.auto_recalculate_thumbnails = true,
|
|
.extract_video_thumbnails = true,
|
|
.extract_video_thumbnails_position = 20, // The first fifth seems like a reasonable place
|
|
.ffmpeg_executable = NULL,
|
|
.defaultsetpoint = 1100,
|
|
.default_filename = NULL,
|
|
.default_file_behavior = LOCAL_DEFAULT_FILE,
|
|
.o2consumption = 720,
|
|
.pscr_ratio = 100,
|
|
.use_default_file = true,
|
|
.extraEnvironmentalDefault = false,
|
|
.salinityEditDefault = false,
|
|
.geocoding = {
|
|
.category = { TC_NONE, TC_NONE, TC_NONE }
|
|
},
|
|
.date_format = NULL,
|
|
.date_format_override = false,
|
|
.date_format_short = NULL,
|
|
.locale = {
|
|
.use_system_language = true,
|
|
},
|
|
.time_format = NULL,
|
|
.time_format_override = false,
|
|
.proxy_auth = false,
|
|
.proxy_host = NULL,
|
|
.proxy_port = 0,
|
|
.proxy_type = 0,
|
|
.proxy_user = NULL,
|
|
.proxy_pass = NULL,
|
|
.ascratelast6m = 9000 / 60,
|
|
.ascratestops = 9000 / 60,
|
|
.ascrate50 = 9000 / 60,
|
|
.ascrate75 = 9000 / 60,
|
|
.bestmixend = { 30000 },
|
|
.bottompo2 = 1400,
|
|
.bottomsac = 20000,
|
|
.decopo2 = 1600,
|
|
.decosac = 17000,
|
|
.descrate = 18000 / 60,
|
|
.display_duration = true,
|
|
.display_runtime = true,
|
|
.display_transitions = true,
|
|
.display_variations = false,
|
|
.doo2breaks = false,
|
|
.dobailout = false,
|
|
.o2narcotic = true,
|
|
.drop_stone_mode = false,
|
|
.last_stop = false,
|
|
.min_switch_duration = 60,
|
|
.surface_segment = 0,
|
|
.planner_deco_mode = BUEHLMANN,
|
|
.problemsolvingtime = 4,
|
|
.reserve_gas=40000,
|
|
.sacfactor = 400,
|
|
.safetystop = true,
|
|
.switch_at_req_stop = false,
|
|
.verbatim_plan = false,
|
|
.calcalltissues = false,
|
|
.calcceiling = false,
|
|
.calcceiling3m = false,
|
|
.calcndltts = false,
|
|
.decoinfo = true,
|
|
.dcceiling = true,
|
|
.display_deco_mode = BUEHLMANN,
|
|
.ead = false,
|
|
.gfhigh = 75,
|
|
.gflow = 30,
|
|
.gf_low_at_maxdepth = false,
|
|
.hrgraph = false,
|
|
.mod = false,
|
|
.modpO2 = 1.6,
|
|
.percentagegraph = false,
|
|
.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,
|
|
},
|
|
.redceiling = false,
|
|
.rulergraph = false,
|
|
.show_average_depth = true,
|
|
.show_ccr_sensors = false,
|
|
.show_ccr_setpoint = false,
|
|
.show_icd = false,
|
|
.show_pictures_in_profile = true,
|
|
.show_sac = false,
|
|
.show_scr_ocpo2 = false,
|
|
.tankbar = false,
|
|
.vpmb_conservatism = 3,
|
|
.zoomed_plot = false,
|
|
.infobox = true,
|
|
.coordinates_traditional = true,
|
|
.unit_system = METRIC,
|
|
.units = SI_UNITS,
|
|
.update_manager = { false, NULL, 0 }
|
|
};
|
|
|
|
/* copy a preferences block, including making copies of all included strings */
|
|
extern "C" 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.
|
|
*/
|
|
extern "C" void free_prefs(void)
|
|
{
|
|
// nop
|
|
}
|