diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2020-12-14 23:21:58 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2020-12-17 13:03:56 -0800 |
commit | d9942269a9b61bc35bd939b23858a7cb4a2515c3 (patch) | |
tree | 92a60687efdfbd89df1aa29d7a105487c3db16d3 /core/string-format.cpp | |
parent | bf8261c0014253634eaddf7c0a9cf79d3a8b4123 (diff) | |
download | subsurface-d9942269a9b61bc35bd939b23858a7cb4a2515c3.tar.gz |
printing: remove DiveObjectHelperGrantlee
This was a weird helper object, needed for grantlee. Instead
of storing this object, loop over cylinders and dives directly.
The actual accessor function is unchanged and now generates
a DiveObjectHelper or DiveCylinderHelper for every variable
access. Obviously, this is very inefficient. However, this
will be replaced in future commits by direct calls to formatting
functions.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core/string-format.cpp')
-rw-r--r-- | core/string-format.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/core/string-format.cpp b/core/string-format.cpp index 331fb64ba..3f5d7d812 100644 --- a/core/string-format.cpp +++ b/core/string-format.cpp @@ -143,3 +143,24 @@ QStringList formatFullCylinderList() return cylinders; } +static QString formattedCylinder(const struct dive *dive, int idx) +{ + const cylinder_t *cyl = get_cylinder(dive, idx); + const char *desc = cyl->type.description; + QString fmt = desc ? QString(desc) : gettextFromC::tr("unknown"); + fmt += ", " + get_volume_string(cyl->type.size, true); + fmt += ", " + get_pressure_string(cyl->type.workingpressure, true); + fmt += ", " + get_pressure_string(cyl->start, false) + " - " + get_pressure_string(cyl->end, true); + fmt += ", " + get_gas_string(cyl->gasmix); + return fmt; +} + +QStringList formatCylinders(const dive *d) +{ + QStringList cylinders; + for (int i = 0; i < d->cylinders.nr; i++) { + QString cyl = formattedCylinder(d, i); + cylinders << cyl; + } + return cylinders; +} |