diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2013-05-19 08:08:29 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-05-19 08:08:29 -0700 |
commit | 1298aa87e519addde0f5490b238395fcaf8b4e95 (patch) | |
tree | f8e6478e7091bef9f54005df8d94351528faefbe | |
parent | 0cb9b9ccfba97916077a2251153a2f99a44ba9ca (diff) | |
download | subsurface-1298aa87e519addde0f5490b238395fcaf8b4e95.tar.gz |
Continue populating the DiveInfo tab
Pulled one more helper from statistics-gtk.c (but didn't modify the code
there to use it as that code is no longer being compiled).
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | qt-ui/maintab.cpp | 8 | ||||
-rw-r--r-- | statistics.c | 21 | ||||
-rw-r--r-- | statistics.h | 1 |
3 files changed, 30 insertions, 0 deletions
diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp index be079cf31..bebbc109c 100644 --- a/qt-ui/maintab.cpp +++ b/qt-ui/maintab.cpp @@ -102,7 +102,10 @@ void MainTab::updateDiveInfo(int dive) // click on the item and check its objectName, // the access is ui->objectName from here on. volume_t sacVal; + struct dive *prevd; struct dive *d = get_dive(dive); + + process_all_dives(d, &prevd); currentDive = d; UPDATE_TEXT(d, notes); UPDATE_TEXT(d, location); @@ -118,6 +121,11 @@ void MainTab::updateDiveInfo(int dive) ui->waterTemperatureText->setText(get_temperature_string(d->watertemp, TRUE)); ui->airTemperatureText->setText(get_temperature_string(d->airtemp, TRUE)); ui->gasUsedText->setText(get_volume_string(get_gas_used(d), TRUE)); + ui->oxygenHeliumText->setText(get_gaslist(d)); + ui->dateText->setText(get_dive_date_string(d->when)); + ui->diveTimeText->setText(QString::number((int)((d->duration.seconds + 30) / 60))); + if (prevd) + ui->surfaceIntervalText->setText(get_time_string(d->when - (prevd->when + prevd->duration.seconds), 4)); if ((sacVal.mliter = d->sac) > 0) ui->sacText->setText(get_volume_string(sacVal, TRUE).append("/min")); else diff --git a/statistics.c b/statistics.c index d7f8371fa..411ba1c1f 100644 --- a/statistics.c +++ b/statistics.c @@ -289,3 +289,24 @@ volume_t get_gas_used(struct dive *dive) } return gas_used; } + +#define MAXBUF 80 +/* for the O2/He readings just create a list of them */ +char *get_gaslist(struct dive *dive) +{ + int idx, offset = 0; + static char buf[MAXBUF]; + + buf[0] = '\0'; + for (idx = 0; idx < MAX_CYLINDERS; idx++) { + cylinder_t *cyl = &dive->cylinder[idx]; + if (!cylinder_none(cyl)) { + int o2 = get_o2(&cyl->gasmix); + int he = get_he(&cyl->gasmix); + snprintf(buf + offset, MAXBUF - offset, (offset > 0) ? ", %d/%d" : "%d/%d", + (o2 + 5) / 10, (he + 5) / 10); + offset = strlen(buf); + } + } + return buf; +} diff --git a/statistics.h b/statistics.h index 732a287e1..81a560568 100644 --- a/statistics.h +++ b/statistics.h @@ -40,6 +40,7 @@ extern char *get_minutes(int seconds); extern void process_all_dives(struct dive *dive, struct dive **prev_dive); extern void get_selected_dives_text(char *buffer, int size); extern volume_t get_gas_used(struct dive *dive); +extern char *get_gaslist(struct dive *dive); #ifdef __cplusplus } |