summaryrefslogtreecommitdiffstats
path: root/core/equipment.c
diff options
context:
space:
mode:
Diffstat (limited to 'core/equipment.c')
-rw-r--r--core/equipment.c22
1 files changed, 18 insertions, 4 deletions
diff --git a/core/equipment.c b/core/equipment.c
index 253ef2086..af6f092a9 100644
--- a/core/equipment.c
+++ b/core/equipment.c
@@ -246,11 +246,8 @@ int find_best_gasmix_match(struct gasmix mix, const struct cylinder_table *cylin
* we should pick up any other names from the dive
* logs directly.
*/
-struct tank_info_table tank_info_table;
-void reset_tank_info_table(struct tank_info_table *table)
+static void add_default_tank_infos(struct tank_info_table *table)
{
- clear_tank_info_table(table);
-
/* Size-only metric cylinders */
add_tank_info_metric(table, "10.0ℓ", 10000, 0);
add_tank_info_metric(table, "11.1ℓ", 11100, 0);
@@ -301,6 +298,23 @@ void reset_tank_info_table(struct tank_info_table *table)
add_tank_info_metric(table, "D20 232 bar", 40000, 232);
}
+struct tank_info_table tank_info_table;
+void reset_tank_info_table(struct tank_info_table *table)
+{
+ clear_tank_info_table(table);
+ if (prefs.display_default_tank_infos)
+ add_default_tank_infos(table);
+
+ /* Add cylinders from dive list */
+ for (int i = 0; i < dive_table.nr; ++i) {
+ const struct dive *dive = dive_table.dives[i];
+ for (int j = 0; j < dive->cylinders.nr; j++) {
+ const cylinder_t *cyl = get_cylinder(dive, j);
+ add_cylinder_description(&cyl->type);
+ }
+ }
+}
+
/*
* We hardcode the most common weight system types
* This is a bit odd as the weight system types don't usually encode weight