2013-01-11 01:26:10 +00:00
|
|
|
#ifndef PREF_H
|
|
|
|
#define PREF_H
|
|
|
|
|
2013-04-01 10:51:49 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2013-05-28 18:21:27 +00:00
|
|
|
/* can't use 'bool' for the boolean values - different size in C and C++ */
|
2013-01-11 01:26:10 +00:00
|
|
|
typedef struct {
|
2013-05-28 18:21:27 +00:00
|
|
|
short po2;
|
|
|
|
short pn2;
|
|
|
|
short phe;
|
2013-01-11 01:26:10 +00:00
|
|
|
double po2_threshold;
|
|
|
|
double pn2_threshold;
|
|
|
|
double phe_threshold;
|
|
|
|
} partial_pressure_graphs_t;
|
|
|
|
|
|
|
|
struct preferences {
|
2013-05-28 18:21:27 +00:00
|
|
|
const char *divelist_font;
|
|
|
|
const char *default_filename;
|
|
|
|
double font_size;
|
2013-01-11 01:26:10 +00:00
|
|
|
partial_pressure_graphs_t pp_graphs;
|
2013-05-28 18:21:27 +00:00
|
|
|
short mod;
|
2013-01-14 00:24:58 +00:00
|
|
|
double mod_ppO2;
|
2013-05-28 18:21:27 +00:00
|
|
|
short ead;
|
|
|
|
short profile_dc_ceiling;
|
|
|
|
short profile_red_ceiling;
|
|
|
|
short profile_calc_ceiling;
|
|
|
|
short calc_ceiling_3m_incr;
|
2013-05-30 18:56:00 +00:00
|
|
|
short calc_all_tissues;
|
2013-05-28 18:21:27 +00:00
|
|
|
short gflow;
|
|
|
|
short gfhigh;
|
2013-03-01 00:19:12 +00:00
|
|
|
int map_provider;
|
2013-05-28 18:21:27 +00:00
|
|
|
short display_invalid_dives;
|
|
|
|
short show_invalid;
|
2013-06-03 12:08:49 +00:00
|
|
|
short unit_system;
|
2013-05-28 18:21:27 +00:00
|
|
|
struct units units;
|
2013-09-18 12:31:15 +00:00
|
|
|
short show_time;
|
2013-10-14 21:48:44 +00:00
|
|
|
short show_sac;
|
2013-01-11 01:26:10 +00:00
|
|
|
};
|
2013-06-03 12:08:49 +00:00
|
|
|
enum unit_system_values { METRIC, IMPERIAL, PERSONALIZE };
|
2013-01-11 01:26:10 +00:00
|
|
|
|
|
|
|
extern struct preferences prefs, default_prefs;
|
|
|
|
|
|
|
|
#define PP_GRAPHS_ENABLED (prefs.pp_graphs.po2 || prefs.pp_graphs.pn2 || prefs.pp_graphs.phe)
|
|
|
|
|
|
|
|
extern void subsurface_open_conf(void);
|
2013-04-01 10:51:49 +00:00
|
|
|
extern void subsurface_set_conf(const char *name, const char *value);
|
2013-05-28 18:21:27 +00:00
|
|
|
extern void subsurface_set_conf_bool(const char *name, bool value);
|
2013-04-01 10:51:49 +00:00
|
|
|
extern void subsurface_set_conf_int(const char *name, int value);
|
|
|
|
extern void subsurface_unset_conf(const char *name);
|
|
|
|
extern const char *subsurface_get_conf(const char *name);
|
|
|
|
extern int subsurface_get_conf_bool(const char *name);
|
|
|
|
extern int subsurface_get_conf_int(const char *name);
|
2013-01-11 01:26:10 +00:00
|
|
|
extern void subsurface_flush_conf(void);
|
|
|
|
extern void subsurface_close_conf(void);
|
|
|
|
|
2013-01-12 01:07:22 +00:00
|
|
|
extern const char system_divelist_default_font[];
|
|
|
|
extern const char *system_default_filename();
|
2013-01-11 18:14:10 +00:00
|
|
|
|
|
|
|
extern void load_preferences(void);
|
|
|
|
extern void save_preferences(void);
|
|
|
|
|
2013-04-01 10:51:49 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2013-01-11 01:26:10 +00:00
|
|
|
#endif /* PREF_H */
|