2013-01-10 17:26:10 -08:00
|
|
|
#ifndef PREF_H
|
|
|
|
#define PREF_H
|
|
|
|
|
2013-04-01 13:51:49 +03:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2014-06-26 14:01:31 -03:00
|
|
|
#include "units.h"
|
2015-07-01 12:32:46 -07:00
|
|
|
#include "taxonomy.h"
|
2014-06-26 14:01:31 -03:00
|
|
|
|
2013-05-28 11:21:27 -07:00
|
|
|
/* can't use 'bool' for the boolean values - different size in C and C++ */
|
2014-02-27 20:09:57 -08:00
|
|
|
typedef struct
|
|
|
|
{
|
2013-05-28 11:21:27 -07:00
|
|
|
short po2;
|
|
|
|
short pn2;
|
|
|
|
short phe;
|
2013-01-10 17:26:10 -08:00
|
|
|
double po2_threshold;
|
|
|
|
double pn2_threshold;
|
|
|
|
double phe_threshold;
|
|
|
|
} partial_pressure_graphs_t;
|
|
|
|
|
2014-12-23 21:45:06 -02:00
|
|
|
typedef struct {
|
|
|
|
char *access_token;
|
2014-12-24 21:34:23 -02:00
|
|
|
char *user_id;
|
|
|
|
char *album_id;
|
2014-12-23 21:45:06 -02:00
|
|
|
} facebook_prefs_t;
|
|
|
|
|
2015-06-22 18:44:05 -03:00
|
|
|
typedef struct {
|
|
|
|
bool enable_geocoding;
|
|
|
|
bool parse_dive_without_gps;
|
|
|
|
bool tag_existing_dives;
|
2015-07-01 12:32:46 -07:00
|
|
|
enum taxonomy_category category[3];
|
2015-06-22 18:44:05 -03:00
|
|
|
} geocoding_prefs_t;
|
|
|
|
|
2015-07-03 23:07:58 +02:00
|
|
|
enum deco_mode {
|
|
|
|
BUEHLMANN,
|
|
|
|
RECREATIONAL,
|
|
|
|
VPMB
|
|
|
|
};
|
|
|
|
|
2013-01-10 17:26:10 -08:00
|
|
|
struct preferences {
|
2013-05-28 11:21:27 -07:00
|
|
|
const char *divelist_font;
|
|
|
|
const char *default_filename;
|
2013-11-23 15:34:17 -08:00
|
|
|
const char *default_cylinder;
|
2015-06-15 05:52:12 -07:00
|
|
|
const char *cloud_base_url;
|
|
|
|
const char *cloud_git_url;
|
2013-05-28 11:21:27 -07:00
|
|
|
double font_size;
|
2013-01-10 17:26:10 -08:00
|
|
|
partial_pressure_graphs_t pp_graphs;
|
2013-05-28 11:21:27 -07:00
|
|
|
short mod;
|
2014-06-22 16:41:44 +02:00
|
|
|
double modpO2;
|
2013-05-28 11:21:27 -07:00
|
|
|
short ead;
|
2014-04-16 22:03:44 +02:00
|
|
|
short dcceiling;
|
|
|
|
short redceiling;
|
|
|
|
short calcceiling;
|
|
|
|
short calcceiling3m;
|
|
|
|
short calcalltissues;
|
|
|
|
short calcndltts;
|
2013-05-28 11:21:27 -07:00
|
|
|
short gflow;
|
|
|
|
short gfhigh;
|
2014-07-21 19:10:31 -03:00
|
|
|
int animation_speed;
|
2013-11-20 16:11:22 +01:00
|
|
|
bool gf_low_at_maxdepth;
|
2015-01-05 09:20:26 +02:00
|
|
|
bool show_ccr_setpoint;
|
2015-01-20 20:13:53 +02:00
|
|
|
bool show_ccr_sensors;
|
2013-05-28 11:21:27 -07:00
|
|
|
short display_invalid_dives;
|
2013-06-03 21:08:49 +09:00
|
|
|
short unit_system;
|
2013-05-28 11:21:27 -07:00
|
|
|
struct units units;
|
2015-05-20 12:25:46 +02:00
|
|
|
bool coordinates_traditional;
|
2013-10-14 23:48:44 +02:00
|
|
|
short show_sac;
|
2014-04-16 22:03:44 +02:00
|
|
|
short display_unused_tanks;
|
|
|
|
short show_average_depth;
|
|
|
|
short zoomed_plot;
|
|
|
|
short hrgraph;
|
2014-09-15 14:09:00 +02:00
|
|
|
short percentagegraph;
|
2014-05-05 15:53:46 -07:00
|
|
|
short rulergraph;
|
2014-08-15 08:11:14 -06:00
|
|
|
short tankbar;
|
2014-04-17 11:34:21 -03:00
|
|
|
short save_userid_local;
|
|
|
|
char *userid;
|
2015-08-23 16:00:02 +02:00
|
|
|
int ascrate75; // All rates in mm / sec
|
2014-06-25 00:08:36 +02:00
|
|
|
int ascrate50;
|
|
|
|
int ascratestops;
|
|
|
|
int ascratelast6m;
|
|
|
|
int descrate;
|
|
|
|
int bottompo2;
|
|
|
|
int decopo2;
|
2014-06-26 20:16:55 +04:00
|
|
|
int proxy_type;
|
|
|
|
char *proxy_host;
|
|
|
|
int proxy_port;
|
|
|
|
short proxy_auth;
|
|
|
|
char *proxy_user;
|
|
|
|
char *proxy_pass;
|
2014-07-02 22:07:38 +02:00
|
|
|
bool doo2breaks;
|
2014-07-09 23:37:30 +02:00
|
|
|
bool drop_stone_mode;
|
2015-08-23 16:00:02 +02:00
|
|
|
bool last_stop; // At 6m?
|
2015-03-24 11:57:22 -10:00
|
|
|
bool verbatim_plan;
|
|
|
|
bool display_runtime;
|
|
|
|
bool display_duration;
|
|
|
|
bool display_transitions;
|
2015-04-02 10:32:14 +02:00
|
|
|
bool safetystop;
|
2015-06-22 21:48:42 +10:00
|
|
|
bool switch_at_req_stop;
|
2015-04-09 17:41:41 +02:00
|
|
|
int reserve_gas;
|
2015-06-19 20:25:03 +10:00
|
|
|
int min_switch_duration; // seconds
|
2014-07-16 17:32:06 -10:00
|
|
|
int bottomsac;
|
|
|
|
int decosac;
|
2014-10-24 16:40:21 +02:00
|
|
|
int o2consumption; // ml per min
|
|
|
|
int pscr_ratio; // dump ratio times 1000
|
2015-01-01 17:00:46 +01:00
|
|
|
int defaultsetpoint; // default setpoint in mbar
|
2014-07-10 13:50:49 -03:00
|
|
|
bool show_pictures_in_profile;
|
2014-07-16 18:40:49 -03:00
|
|
|
bool use_default_file;
|
2015-06-14 08:17:06 -07:00
|
|
|
short default_file_behavior;
|
2014-12-23 21:45:06 -02:00
|
|
|
facebook_prefs_t facebook;
|
2015-05-31 17:42:12 -07:00
|
|
|
char *cloud_storage_password;
|
2015-07-22 15:06:57 -07:00
|
|
|
char *cloud_storage_newpassword;
|
2015-05-31 17:42:12 -07:00
|
|
|
char *cloud_storage_email;
|
2015-05-31 22:11:27 -07:00
|
|
|
char *cloud_storage_email_encoded;
|
2015-05-31 17:42:12 -07:00
|
|
|
bool save_password_local;
|
2015-06-14 13:50:13 -07:00
|
|
|
short cloud_verification_status;
|
2015-06-12 11:48:56 -07:00
|
|
|
bool cloud_background_sync;
|
2015-06-22 18:44:05 -03:00
|
|
|
geocoding_prefs_t geocoding;
|
2015-07-03 23:07:58 +02:00
|
|
|
enum deco_mode deco_mode;
|
2015-08-15 14:36:07 +02:00
|
|
|
short conservatism_level;
|
2013-01-10 17:26:10 -08:00
|
|
|
};
|
2014-02-27 20:09:57 -08:00
|
|
|
enum unit_system_values {
|
|
|
|
METRIC,
|
|
|
|
IMPERIAL,
|
|
|
|
PERSONALIZE
|
|
|
|
};
|
2013-01-10 17:26:10 -08:00
|
|
|
|
2015-06-14 08:17:06 -07:00
|
|
|
enum def_file_behavior {
|
|
|
|
UNDEFINED_DEFAULT_FILE,
|
|
|
|
LOCAL_DEFAULT_FILE,
|
|
|
|
NO_DEFAULT_FILE,
|
|
|
|
CLOUD_DEFAULT_FILE
|
|
|
|
};
|
|
|
|
|
2015-06-14 13:50:13 -07:00
|
|
|
enum cloud_status {
|
|
|
|
CS_UNKNOWN,
|
|
|
|
CS_INCORRECT_USER_PASSWD,
|
|
|
|
CS_NEED_TO_VERIFY,
|
|
|
|
CS_VERIFIED
|
|
|
|
};
|
|
|
|
|
2015-06-16 20:28:42 -07:00
|
|
|
extern struct preferences prefs, default_prefs, informational_prefs;
|
2013-01-10 17:26:10 -08:00
|
|
|
|
|
|
|
#define PP_GRAPHS_ENABLED (prefs.pp_graphs.po2 || prefs.pp_graphs.pn2 || prefs.pp_graphs.phe)
|
|
|
|
|
2014-08-22 15:22:02 -07:00
|
|
|
extern const char *system_divelist_default_font;
|
2014-08-27 06:00:10 -07:00
|
|
|
extern double system_divelist_default_font_size;
|
2015-02-08 11:35:50 -08:00
|
|
|
|
|
|
|
extern const char *system_default_directory(void);
|
2013-01-11 17:07:22 -08:00
|
|
|
extern const char *system_default_filename();
|
2014-08-27 06:00:10 -07:00
|
|
|
extern bool subsurface_ignore_font(const char *font);
|
2014-08-22 15:22:02 -07:00
|
|
|
extern void subsurface_OS_pref_setup();
|
2013-01-11 10:14:10 -08:00
|
|
|
|
2013-04-01 13:51:49 +03:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2014-02-11 19:14:46 +01:00
|
|
|
#endif // PREF_H
|