diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2020-05-05 11:51:20 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2020-05-06 11:44:22 -0700 |
commit | 16a35a8bbe2bd16398667795fe3f5c4a41beaf3e (patch) | |
tree | ce334102b3e5c4663918b160ee033537edb8e210 /desktop-widgets/tab-widgets/TabDiveInformation.cpp | |
parent | 30133946e0354339078dacb18869ae09747f2caf (diff) | |
download | subsurface-16a35a8bbe2bd16398667795fe3f5c4a41beaf3e.tar.gz |
desktop: update information tab when cylinders change
The SAC rate, etc were only updated when switching between dives.
They should always be updated when an undo command changes (adds,
edits, removes) the cylinders of a dive.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'desktop-widgets/tab-widgets/TabDiveInformation.cpp')
-rw-r--r-- | desktop-widgets/tab-widgets/TabDiveInformation.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/desktop-widgets/tab-widgets/TabDiveInformation.cpp b/desktop-widgets/tab-widgets/TabDiveInformation.cpp index a91151fed..e73de4148 100644 --- a/desktop-widgets/tab-widgets/TabDiveInformation.cpp +++ b/desktop-widgets/tab-widgets/TabDiveInformation.cpp @@ -21,6 +21,9 @@ TabDiveInformation::TabDiveInformation(QWidget *parent) : TabBase(parent), ui(ne { ui->setupUi(this); connect(&diveListNotifier, &DiveListNotifier::divesChanged, this, &TabDiveInformation::divesChanged); + connect(&diveListNotifier, &DiveListNotifier::cylinderAdded, this, &TabDiveInformation::cylinderChanged); + connect(&diveListNotifier, &DiveListNotifier::cylinderRemoved, this, &TabDiveInformation::cylinderChanged); + connect(&diveListNotifier, &DiveListNotifier::cylinderEdited, this, &TabDiveInformation::cylinderChanged); QStringList atmPressTypes { "mbar", get_depth_unit() ,tr("Use DC")}; ui->atmPressType->insertItems(0, atmPressTypes); pressTypeIndex = 0; @@ -292,6 +295,14 @@ void TabDiveInformation::on_waterTypeCombo_activated(int index) { ui->salinityOverWrittenIcon->setVisible(true); } +void TabDiveInformation::cylinderChanged(dive *d) +{ + // If this isn't the current dive, do nothing + if (current_dive != d) + return; + updateProfile(); +} + // This function gets called if a field gets updated by an undo command. // Refresh the corresponding UI field. void TabDiveInformation::divesChanged(const QVector<dive *> &dives, DiveField field) |