mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Desktop: add additional star widgets to Information tab
Connect the UI to the underlying dive structure. Enable proper initialisation and management of star widgets while Information tab is active. Enable undo for the addtional star widgets. Signed-off-by: willemferguson <willemferguson@zoology.up.ac.za> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
4e86dd3a52
commit
6d7f26f4bf
8 changed files with 231 additions and 6 deletions
|
@ -192,6 +192,10 @@ void TabDiveInformation::updateData()
|
|||
updateMode(current_dive);
|
||||
updateSalinity();
|
||||
ui->visibility->setCurrentStars(current_dive->visibility);
|
||||
ui->wavesize->setCurrentStars(current_dive->wavesize);
|
||||
ui->current->setCurrentStars(current_dive->current);
|
||||
ui->surge->setCurrentStars(current_dive->surge);
|
||||
ui->chill->setCurrentStars(current_dive->chill);
|
||||
if (prefs.extraEnvironmentalDefault)
|
||||
showCurrentWidget(true, 2); // Show current star widget at 3rd position
|
||||
else
|
||||
|
@ -208,6 +212,14 @@ void TabDiveInformation::divesChanged(const QVector<dive *> &dives, DiveField fi
|
|||
|
||||
if (field.visibility)
|
||||
ui->visibility->setCurrentStars(current_dive->visibility);
|
||||
if (field.wavesize)
|
||||
ui->wavesize->setCurrentStars(current_dive->wavesize);
|
||||
if (field.current)
|
||||
ui->current->setCurrentStars(current_dive->current);
|
||||
if (field.surge)
|
||||
ui->surge->setCurrentStars(current_dive->surge);
|
||||
if (field.chill)
|
||||
ui->chill->setCurrentStars(current_dive->chill);
|
||||
if (field.mode)
|
||||
updateMode(current_dive);
|
||||
if (field.duration || field.depth || field.mode)
|
||||
|
@ -229,6 +241,30 @@ void TabDiveInformation::on_visibility_valueChanged(int value)
|
|||
divesEdited(Command::editVisibility(value, false));
|
||||
}
|
||||
|
||||
void TabDiveInformation::on_wavesize_valueChanged(int value)
|
||||
{
|
||||
if (current_dive)
|
||||
divesEdited(Command::editWaveSize(value, false));
|
||||
}
|
||||
|
||||
void TabDiveInformation::on_current_valueChanged(int value)
|
||||
{
|
||||
if (current_dive)
|
||||
divesEdited(Command::editCurrent(value, false));
|
||||
}
|
||||
|
||||
void TabDiveInformation::on_surge_valueChanged(int value)
|
||||
{
|
||||
if (current_dive)
|
||||
divesEdited(Command::editSurge(value, false));
|
||||
}
|
||||
|
||||
void TabDiveInformation::on_chill_valueChanged(int value)
|
||||
{
|
||||
if (current_dive)
|
||||
divesEdited(Command::editChill(value, false));
|
||||
}
|
||||
|
||||
void TabDiveInformation::updateMode(struct dive *d)
|
||||
{
|
||||
ui->diveType->setCurrentIndex(get_dive_dc(d, dc_number)->divemode);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue