mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Add a function to count dives with a specific suit
Checking against the location field probably wasn't the best way to do this... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
01cd09c77a
commit
dae76cdc2d
3 changed files with 16 additions and 1 deletions
14
dive.c
14
dive.c
|
@ -2541,6 +2541,20 @@ int count_dives_with_location(const char *location)
|
|||
return counter;
|
||||
}
|
||||
|
||||
// count the dives with exactly the suit
|
||||
int count_dives_with_suit(const char *suit)
|
||||
{
|
||||
int i, counter = 0;
|
||||
struct dive *d;
|
||||
|
||||
for_each_dive (i, d) {
|
||||
if (same_string(d->suit, suit))
|
||||
counter++;
|
||||
}
|
||||
return counter;
|
||||
}
|
||||
|
||||
|
||||
struct dive *merge_dives(struct dive *a, struct dive *b, int offset, bool prefer_downloaded)
|
||||
{
|
||||
struct dive *res = alloc_dive();
|
||||
|
|
1
dive.h
1
dive.h
|
@ -237,6 +237,7 @@ bool taglist_contains(struct tag_entry *tag_list, const char *tag);
|
|||
int count_dives_with_tag(const char *tag);
|
||||
int count_dives_with_person(const char *person);
|
||||
int count_dives_with_location(const char *location);
|
||||
int count_dives_with_suit(const char *suit);
|
||||
|
||||
struct extra_data {
|
||||
const char *key;
|
||||
|
|
|
@ -67,7 +67,7 @@ CREATE_DATA_METHOD( CLASS, COUNTER_FUNCTION )
|
|||
CREATE_COMMON_METHODS_FOR_FILTER(TagFilterModel, count_dives_with_tag);
|
||||
CREATE_COMMON_METHODS_FOR_FILTER(BuddyFilterModel, count_dives_with_person);
|
||||
CREATE_COMMON_METHODS_FOR_FILTER(LocationFilterModel, count_dives_with_location);
|
||||
CREATE_COMMON_METHODS_FOR_FILTER(SuitsFilterModel, count_dives_with_location);
|
||||
CREATE_COMMON_METHODS_FOR_FILTER(SuitsFilterModel, count_dives_with_suit);
|
||||
|
||||
CREATE_INSTANCE_METHOD(MultiFilterSortModel);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue