diff options
Diffstat (limited to 'desktop-widgets')
-rw-r--r-- | desktop-widgets/tab-widgets/TabDiveInformation.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/desktop-widgets/tab-widgets/TabDiveInformation.cpp b/desktop-widgets/tab-widgets/TabDiveInformation.cpp index f787c922e..8a6739627 100644 --- a/desktop-widgets/tab-widgets/TabDiveInformation.cpp +++ b/desktop-widgets/tab-widgets/TabDiveInformation.cpp @@ -316,6 +316,7 @@ void TabDiveInformation::divesChanged(const QVector<dive *> &dives, DiveField fi if (!current_dive || !dives.contains(current_dive)) return; + bool replot = false; if (field.visibility) ui->visibility->setCurrentStars(current_dive->visibility); if (field.wavesize) @@ -326,8 +327,10 @@ void TabDiveInformation::divesChanged(const QVector<dive *> &dives, DiveField fi ui->surge->setCurrentStars(current_dive->surge); if (field.chill) ui->chill->setCurrentStars(current_dive->chill); - if (field.mode) + if (field.mode) { updateMode(current_dive); + replot = true; + } if (field.duration || field.depth || field.mode) updateProfile(); if (field.air_temp) @@ -344,6 +347,10 @@ void TabDiveInformation::divesChanged(const QVector<dive *> &dives, DiveField fi salinity_value = current_dive->salinity; ui->waterTypeCombo->setCurrentIndex(updateSalinityComboIndex(salinity_value)); ui->salinityText->setText(QString("%1g/ℓ").arg(salinity_value / 10.0)); + // TODO: The profile should recognize itself when the dive mode changed. + // It seem awkward to route this via the dive-information tab. + if (replot) + MainWindow::instance()->graphics->replot(); } void TabDiveInformation::on_visibility_valueChanged(int value) @@ -379,7 +386,6 @@ void TabDiveInformation::on_chill_valueChanged(int value) void TabDiveInformation::updateMode(struct dive *d) { ui->diveType->setCurrentIndex(get_dive_dc(d, dc_number)->divemode); - MainWindow::instance()->graphics->replot(); } void TabDiveInformation::diveModeChanged(int index) |