summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2019-03-07 09:01:18 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-04-12 18:19:07 +0300
commit992ad2fa2784d38c5dfe3cce4e35e00d27a5f533 (patch)
tree7ecffcf340a75cca1ca66ca95bffd6d36e35e74b
parent9e9821551fbb8dce3c4957ca5ea6f215c17a4d91 (diff)
downloadsubsurface-992ad2fa2784d38c5dfe3cce4e35e00d27a5f533.tar.gz
Dive sites: simplify nr_of_dives_at_dive_site()
1) The second parameter (selected_only) was always false. Therefore, remove it. 2) Simplify the function by simply returning the reference count. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
-rw-r--r--core/divesite.c14
-rw-r--r--core/divesite.h2
-rw-r--r--desktop-widgets/modeldelegates.cpp2
3 files changed, 4 insertions, 14 deletions
diff --git a/core/divesite.c b/core/divesite.c
index ed1587ce2..5f6275027 100644
--- a/core/divesite.c
+++ b/core/divesite.c
@@ -159,19 +159,9 @@ struct dive_site *alloc_or_get_dive_site(uint32_t uuid, struct dive_site_table *
return ds;
}
-int nr_of_dives_at_dive_site(struct dive_site *ds, bool select_only)
+int nr_of_dives_at_dive_site(struct dive_site *ds)
{
- int j;
- int nr = 0;
- struct dive *d;
- if (!ds)
- return 0;
- for_each_dive(j, d) {
- if (d->dive_site == ds && (!select_only || d->selected)) {
- nr++;
- }
- }
- return nr;
+ return ds->dives.nr;
}
bool is_dive_site_used(struct dive_site *ds, bool select_only)
diff --git a/core/divesite.h b/core/divesite.h
index 2210aced1..087b5f2b7 100644
--- a/core/divesite.h
+++ b/core/divesite.h
@@ -53,7 +53,7 @@ void register_dive_site(struct dive_site *ds);
void unregister_dive_site(struct dive_site *ds);
struct dive_site *alloc_or_get_dive_site(uint32_t uuid, struct dive_site_table *ds_table);
struct dive_site *alloc_dive_site();
-int nr_of_dives_at_dive_site(struct dive_site *ds, bool select_only);
+int nr_of_dives_at_dive_site(struct dive_site *ds);
bool is_dive_site_used(struct dive_site *ds, bool select_only);
void free_dive_site(struct dive_site *ds);
void unregister_dive_site(struct dive_site *ds);
diff --git a/desktop-widgets/modeldelegates.cpp b/desktop-widgets/modeldelegates.cpp
index b4dfd1e51..1099ebb69 100644
--- a/desktop-widgets/modeldelegates.cpp
+++ b/desktop-widgets/modeldelegates.cpp
@@ -495,7 +495,7 @@ void LocationFilterDelegate::paint(QPainter *painter, const QStyleOptionViewItem
} else {
int distanceMeters = get_distance(&ds->location, &currentDiveSite->location);
QString distance = distance_string(distanceMeters);
- int nr = nr_of_dives_at_dive_site(ds, false);
+ int nr = nr_of_dives_at_dive_site(ds);
bottomText += tr(" (~%1 away").arg(distance);
bottomText += tr(", %n dive(s) here)", "", nr);
}