mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
5fae7ce7a0
Include unused tanks in merges of multiple logs into a single dive if the 'Show unused cylinders' preference is enabled. Also rename the preference (in code) to `include_unused_tanks` to reflect the fact that it is already used in more places than just the display (exporting, cloning dives). Simplified the cylinder model to make forced inclusion of unused tanks dependent on use of the model in planner. Leaving the persisted name of the preference as `display_unused_tanks` to avoid resetting this for all users - is there a good way to migrate preference names? Signed-off-by: Michael Keller <github@ike.ch>
52 lines
1.8 KiB
C++
52 lines
1.8 KiB
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#include "preferences_equipment.h"
|
|
#include "ui_preferences_equipment.h"
|
|
#include "core/settings/qPrefEquipment.h"
|
|
#include "core/qthelper.h"
|
|
#include "core/dive.h"
|
|
#include "qt-models/tankinfomodel.h"
|
|
|
|
#include <QApplication>
|
|
#include <QMessageBox>
|
|
#include <QSortFilterProxyModel>
|
|
|
|
PreferencesEquipment::PreferencesEquipment() : AbstractPreferencesWidget(tr("Equipment"), QIcon(":preferences-equipment-icon"), 5)
|
|
{
|
|
ui = new Ui::PreferencesEquipment();
|
|
ui->setupUi(this);
|
|
}
|
|
|
|
PreferencesEquipment::~PreferencesEquipment()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
void PreferencesEquipment::refreshSettings()
|
|
{
|
|
ui->include_unused_tanks->setChecked(prefs.include_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];
|
|
ui->default_cylinder->addItem(ti.name);
|
|
if (qPrefEquipment::default_cylinder() == ti.name)
|
|
ui->default_cylinder->setCurrentIndex(i);
|
|
}
|
|
}
|
|
|
|
void PreferencesEquipment::syncSettings()
|
|
{
|
|
auto equipment = qPrefEquipment::instance();
|
|
qPrefEquipment::set_include_unused_tanks(ui->include_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();
|
|
}
|