summaryrefslogtreecommitdiffstats
path: root/divelist.c
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2014-11-11 22:59:04 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-11-12 14:07:07 -0800
commit0b318540318ffa62318f0d9b74c2b14306bd0d97 (patch)
treede4469dfe207955093c2e057b82012c956cc28f1 /divelist.c
parent71b6de05238907dfa602cd583c5904dd7e6cb8fc (diff)
downloadsubsurface-0b318540318ffa62318f0d9b74c2b14306bd0d97.tar.gz
Deselect dives that are no longer shown as the dive list is filtered
This cleans up the way we ensure that all dives are handled as the dive list is filtered. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'divelist.c')
-rw-r--r--divelist.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/divelist.c b/divelist.c
index ad0c2e716..8802aaea1 100644
--- a/divelist.c
+++ b/divelist.c
@@ -873,6 +873,16 @@ void select_dives_in_trip(struct dive_trip *trip)
select_dive(get_divenr(dive));
}
+void filter_dive(struct dive *d, bool shown)
+{
+ if (!d)
+ return;
+ d->hidden_by_filter = !shown;
+ if (!shown && d->selected)
+ deselect_dive(get_divenr(d));
+}
+
+
/* This only gets called with non-NULL trips.
* It does not combine notes or location, just picks the first one
* (or the second one if the first one is empty */