subsurface/pref.h
Ďoďo ed3f67bc33 Add dive tags and support invalid dives
This started out as a way to keep dives in the dive list but being able to
mark them as 'invalid' so they wouldn't be visible (with an option to
disable that feature).

Now it supports an (at this point, fixed) set of tags that can be assigned
to a dive with 'invalid' being just one of them (but one that is special
as it gets some additional support for hiding such dive and marking dives
as (in)valid from the divelist).

[Dirk Hohndel: merged with the latest code and minor changes for coding
	       style and consistency. Ensure divelist is marked as
	       modified when changing 'invalid' tag]

Signed-Off-By: Jozef Ivanecký (dodo.sk@gmail.com)
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-04-09 10:31:36 -07:00

63 lines
1.6 KiB
C

#ifndef PREF_H
#define PREF_H
typedef struct {
gboolean cylinder;
gboolean temperature;
gboolean totalweight;
gboolean suit;
gboolean nitrox;
gboolean sac;
gboolean otu;
gboolean maxcns;
} visible_cols_t;
typedef struct {
gboolean po2;
gboolean pn2;
gboolean phe;
double po2_threshold;
double pn2_threshold;
double phe_threshold;
} partial_pressure_graphs_t;
struct preferences {
struct units units;
visible_cols_t visible_cols;
partial_pressure_graphs_t pp_graphs;
gboolean mod;
double mod_ppO2;
gboolean ead;
gboolean profile_red_ceiling;
gboolean profile_calc_ceiling;
gboolean calc_ceiling_3m_incr;
double gflow;
double gfhigh;
int map_provider;
const char *divelist_font;
const char *default_filename;
short display_invalid_dives;
};
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);
extern void subsurface_set_conf(char *name, const char *value);
extern void subsurface_set_conf_bool(char *name, gboolean value);
extern void subsurface_set_conf_int(char *name, int value);
extern void subsurface_unset_conf(char *name);
extern const void *subsurface_get_conf(char *name);
extern int subsurface_get_conf_bool(char *name);
extern int subsurface_get_conf_int(char *name);
extern void subsurface_flush_conf(void);
extern void subsurface_close_conf(void);
extern const char system_divelist_default_font[];
extern const char *system_default_filename();
extern void load_preferences(void);
extern void save_preferences(void);
#endif /* PREF_H */