prefs: add option to display only actually used tanks

A user complained about the default cylinders list. Provide
a preferences option to turn this off.

When changing the preferences, the tank-info model will be
completely rebuilt. Currently, this is a bit crude as this
will be done for any preferences change.

Suggested-by: Adolph Weidanz <weidanz.adolph@gmail.com>
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2020-12-11 23:55:18 +01:00 committed by Dirk Hohndel
parent 11e576ffbf
commit 296a391faa
8 changed files with 47 additions and 7 deletions

View file

@ -4,6 +4,7 @@
#include "core/settings/qPrefEquipment.h"
#include "core/qthelper.h"
#include "core/dive.h"
#include "qt-models/tankinfomodel.h"
#include <QApplication>
#include <QMessageBox>
@ -23,6 +24,7 @@ PreferencesEquipment::~PreferencesEquipment()
void PreferencesEquipment::refreshSettings()
{
ui->display_unused_tanks->setChecked(prefs.display_unused_tanks);
ui->display_default_tank_infos->setChecked(prefs.display_default_tank_infos);
ui->default_cylinder->clear();
for (int i = 0; i < tank_info_table.nr; i++) {
const tank_info &ti = tank_info_table.infos[i];
@ -36,5 +38,15 @@ void PreferencesEquipment::syncSettings()
{
auto equipment = qPrefEquipment::instance();
qPrefEquipment::set_display_unused_tanks(ui->display_unused_tanks->isChecked());
qPrefEquipment::set_display_default_tank_infos(ui->display_default_tank_infos->isChecked());
equipment->set_default_cylinder(ui->default_cylinder->currentText());
// In case the user changed the tank info settings,
// reset the tank_info_table and inform the TankInfoModel of
// the changed table. It is somewhat questionable to do this here.
// Moreover, it is a bit crude, as this will be called for *any*
// preferences change. Perhaps, the model should listen to the
// precise changed signal of the preferences system?
reset_tank_info_table(&tank_info_table);
TankInfoModel::instance()->update();
}

View file

@ -61,7 +61,6 @@
</layout>
</widget>
</item>
<item>
<widget class="QCheckBox" name="display_unused_tanks">
<property name="text">
@ -69,7 +68,13 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="display_default_tank_infos">
<property name="text">
<string>Show default cylinder sizes in the cylinders selection of the equipment tab</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">