mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Filter for logged/planned dives
Add filter for dives having a planned dive computer or a logged dive computer. Signed-off-by: Robert C. Helling <helling@atdotde.de>
This commit is contained in:
parent
c349692d98
commit
123f3ef7ec
8 changed files with 208 additions and 137 deletions
12
core/dive.c
12
core/dive.c
|
@ -3361,6 +3361,18 @@ bool is_dc_planner(const struct divecomputer *dc) {
|
|||
return same_string(dc->model, "planned dive");
|
||||
}
|
||||
|
||||
// Does this dive have a dive computer for which is_dc_planner has value planned
|
||||
bool has_planned(const struct dive *dive, bool planned) {
|
||||
const struct divecomputer *dc = &dive->dc;
|
||||
|
||||
while (dc) {
|
||||
if (is_dc_planner(&dive->dc) == planned)
|
||||
return true;
|
||||
dc = dc->next;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* Merging two dives can be subtle, because there's two different ways
|
||||
* of merging:
|
||||
|
|
|
@ -653,6 +653,8 @@ extern void vpmb_start_gradient(struct deco_state *ds);
|
|||
extern void vpmb_next_gradient(struct deco_state *ds, double deco_time, double surface_pressure);
|
||||
extern double tissue_tolerance_calc(struct deco_state *ds, const struct dive *dive, double pressure);
|
||||
extern bool is_dc_planner(const struct divecomputer *dc);
|
||||
extern bool has_planned(const struct dive *dive, bool planned);
|
||||
|
||||
|
||||
/* this should be converted to use our types */
|
||||
struct divedatapoint {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue