diff options
Diffstat (limited to 'qt-ui/maintab.cpp')
-rw-r--r-- | qt-ui/maintab.cpp | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp index 075bfb734..ed65a1943 100644 --- a/qt-ui/maintab.cpp +++ b/qt-ui/maintab.cpp @@ -472,28 +472,30 @@ void MainTab::updateDiveInfo(bool clear) ui.airTemperatureText->setText(get_temperature_string(displayed_dive.airtemp, true)); volume_t gases[MAX_CYLINDERS] = {}; get_gas_used(&displayed_dive, gases); - QString volumes = get_volume_string(gases[0], true); + QString volumes; int mean[MAX_CYLINDERS], duration[MAX_CYLINDERS]; per_cylinder_mean_depth(&displayed_dive, select_dc(&displayed_dive), mean, duration); volume_t sac; - QString SACs; - if (mean[0] && duration[0] && gases[0].mliter) { - sac.mliter = gases[0].mliter / (depth_to_atm(mean[0], &displayed_dive) * duration[0] / 60.0); - SACs = get_volume_string(sac, true).append(tr("/min")); - } else { - SACs = QString(tr("unknown")); - } - for (int i = 1; i < MAX_CYLINDERS && gases[i].mliter != 0; i++) { - volumes.append("\n" + get_volume_string(gases[i], true)); - if (duration[i] && gases[i].mliter) { + QString gaslist, SACs, separator; + + gaslist = ""; SACs = ""; volumes = ""; separator = ""; + for (int i = 0; i < MAX_CYLINDERS; i++) { + if (!is_cylinder_used(&displayed_dive, i)) + continue; + gaslist.append(separator); volumes.append(separator); SACs.append(separator); + separator = "\n"; + + gaslist.append(gasname(&displayed_dive.cylinder[i].gasmix)); + if (!gases[i].mliter) + continue; + volumes.append(get_volume_string(gases[i], true)); + if (duration[i]) { sac.mliter = gases[i].mliter / (depth_to_atm(mean[i], &displayed_dive) * duration[i] / 60); - SACs.append("\n" + get_volume_string(sac, true).append(tr("/min"))); - } else { - SACs.append("\n"); + SACs.append(get_volume_string(sac, true).append(tr("/min"))); } } ui.gasUsedText->setText(volumes); - ui.oxygenHeliumText->setText(get_gaslist(&displayed_dive)); + ui.oxygenHeliumText->setText(gaslist); ui.dateText->setText(get_short_dive_date_string(displayed_dive.when)); ui.diveTimeText->setText(QString::number((int)((displayed_dive.duration.seconds + 30) / 60))); if (prevd) |