diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/divefilter.cpp | 6 | ||||
-rw-r--r-- | core/divefilter.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/core/divefilter.cpp b/core/divefilter.cpp index 4c40869f5..cdf74a49f 100644 --- a/core/divefilter.cpp +++ b/core/divefilter.cpp @@ -101,6 +101,12 @@ DiveFilter::DiveFilter() : diveSiteRefCount(0) { } +void DiveFilter::diveRemoved(const dive *d) const +{ + if (!d->hidden_by_filter) + --shown_dives; +} + bool DiveFilter::showDive(const struct dive *d) const { if (d->invalid && !prefs.display_invalid_dives) diff --git a/core/divefilter.h b/core/divefilter.h index 608cf4843..84c9efee2 100644 --- a/core/divefilter.h +++ b/core/divefilter.h @@ -51,6 +51,7 @@ public: void setFilter(const FilterData &data); ShownChange update(const QVector<dive *> &dives) const; // Update filter status of given dives and return dives whose status changed ShownChange updateAll() const; // Update filter status of all dives and return dives whose status changed + void diveRemoved(const dive *dive) const; // Dive was removed; update count accordingly private: DiveFilter(); bool showDive(const struct dive *d) const; // Should that dive be shown? |