mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
desktop: don't replot profile when populating dive information tab
When the dive mode is changed, the profile has to be replot. This is by a function of the TabDiveInformation. However, that function was also executed when populating the tab. Thus, when changing dive, the profile was plot twice. Move the profile plotting out of the function. Ultimately, the profile should listen to the appropriate signals itself. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
ff0438a3fd
commit
60b00162a9
1 changed files with 8 additions and 2 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue