summaryrefslogtreecommitdiffstats
path: root/desktop-widgets/preferences/preferences_equipment.cpp
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2020-12-11 22:34:35 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2020-12-13 11:49:59 -0800
commit50b11024d685129e78c36313b892dbc0e55c654c (patch)
tree96d56180e18ae2e11a7e4f3a6d86944883738797 /desktop-widgets/preferences/preferences_equipment.cpp
parent2e328c7633c1de43af000fd6506385c651365a0d (diff)
downloadsubsurface-50b11024d685129e78c36313b892dbc0e55c654c.tar.gz
core: keep tank infos in a dynamic table
The list of known tank types were kept in a fixed size table. Instead, use a dynamic table with our horrendous table macros. This is more flexible and sensible. While doing this, clean up the TankInfoModel, which was leaking memory. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'desktop-widgets/preferences/preferences_equipment.cpp')
-rw-r--r--desktop-widgets/preferences/preferences_equipment.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/desktop-widgets/preferences/preferences_equipment.cpp b/desktop-widgets/preferences/preferences_equipment.cpp
index 7435f3539..00bd9aa53 100644
--- a/desktop-widgets/preferences/preferences_equipment.cpp
+++ b/desktop-widgets/preferences/preferences_equipment.cpp
@@ -24,9 +24,10 @@ void PreferencesEquipment::refreshSettings()
{
ui->display_unused_tanks->setChecked(prefs.display_unused_tanks);
ui->default_cylinder->clear();
- for (int i = 0; i < MAX_TANK_INFO && tank_info[i].name != NULL; i++) {
- ui->default_cylinder->addItem(tank_info[i].name);
- if (qPrefEquipment::default_cylinder() == tank_info[i].name)
+ for (int i = 0; i < tank_info_table.nr; i++) {
+ const tank_info &ti = tank_info_table.infos[i];
+ ui->default_cylinder->addItem(ti.name);
+ if (qPrefEquipment::default_cylinder() == ti.name)
ui->default_cylinder->setCurrentIndex(i);
}
}