summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2014-07-01 10:20:06 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-07-01 10:28:42 -0700
commit81f8ed901fbb1743fe3ae57476d2f453783cd7a7 (patch)
tree23f134890a197dbc944c759cf8bc16fb5cb7cd41
parent8bd16a7808d55b8d97c31571de503c23d621c3db (diff)
downloadsubsurface-81f8ed901fbb1743fe3ae57476d2f453783cd7a7.tar.gz
Add dive: remove cylinder pressures from samples
These cylinder pressures are actually just artefacts of the way we track gas consumption in the code shared between planner and add dive. We don't want them in the actual dive. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--qt-ui/maintab.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp
index e5c2830fc..ce0e77f1a 100644
--- a/qt-ui/maintab.cpp
+++ b/qt-ui/maintab.cpp
@@ -734,6 +734,17 @@ void MainTab::acceptChanges()
}
if (editMode == ADD || editMode == MANUALLY_ADDED_DIVE) {
// clean up the dive data (get duration, depth information from samples)
+ // remove the pressures from the samples (as those prevent the user from
+ // being able to manually set the start and end pressure)
+ struct sample *sample = current_dc->sample;
+ for (int i = 0; i < current_dc->samples; i++, sample++)
+ sample->cylinderpressure.mbar = 0;
+ for (int i = 0; i < MAX_CYLINDERS; i++) {
+ cylinder_t *cyl = &current_dive->cylinder[i];
+ cyl->start.mbar = cyl->sample_start.mbar;
+ cyl->end.mbar = cyl->sample_end.mbar;
+ cyl->sample_end.mbar = cyl->sample_start.mbar = 0;
+ }
fixup_dive(current_dive);
if (dive_table.nr == 1)
current_dive->number = 1;