From f05e9c5c79aa6be153759837cc67fdf3c9980021 Mon Sep 17 00:00:00 2001 From: Gehad elrobey Date: Wed, 5 Aug 2015 22:31:27 +0200 Subject: Printing: export more dive details with Grantlee backend Add SAC, tags, used gas and dive rating to dive data fields exported with Grantlee backend. Signed-off-by: Lubomir I. Ivanov Signed-off-by: Gehad elrobey --- templatelayout.cpp | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'templatelayout.cpp') diff --git a/templatelayout.cpp b/templatelayout.cpp index 1da88249b..437a6aea6 100644 --- a/templatelayout.cpp +++ b/templatelayout.cpp @@ -188,6 +188,26 @@ QString Dive::notes() const return m_notes; } +QString Dive::tags() const +{ + return m_tags; +} + +QString Dive::gas() const +{ + return m_gas; +} + +QString Dive::sac() const +{ + return m_sac; +} + +int Dive::rating() const +{ + return m_rating; +} + void Dive::put_divemaster() { if (!dive->divemaster) @@ -237,3 +257,40 @@ void Dive::put_notes() { m_notes = QString::fromUtf8(dive->notes); } + +void Dive::put_tags() +{ + char buffer[256]; + taglist_get_tagstring(dive->tag_list, buffer, 256); + m_tags = QString(buffer); +} + +void Dive::put_gas() +{ + int added = 0; + QString gas, gases; + for (int i = 0; i < MAX_CYLINDERS; i++) { + if (!is_cylinder_used(dive, i)) + continue; + gas = dive->cylinder[i].type.description; + gas += QString(!gas.isEmpty() ? " " : "") + gasname(&dive->cylinder[i].gasmix); + // if has a description and if such gas is not already present + if (!gas.isEmpty() && gases.indexOf(gas) == -1) { + if (added > 0) + gases += QString(" / "); + gases += gas; + added++; + } + } + m_gas = gases; +} + +void Dive::put_sac() +{ + if (dive->sac) { + const char *unit; + int decimal; + double value = get_volume_units(dive->sac, &decimal, &unit); + m_sac = QString::number(value, 'f', decimal).append(unit); + } +} -- cgit v1.2.3-70-g09d2 From 06e2fab291295f377af19fcc6f4d7415477c0f44 Mon Sep 17 00:00:00 2001 From: Gehad elrobey Date: Sun, 9 Aug 2015 01:12:15 +0200 Subject: Printing: insert placeholders in empty feilds Don't leave fields empty, this may corrupt the layout, a better way is to insert placeholders for empty data, which also provides a better UX. Signed-off-by: Lubomir I. Ivanov Signed-off-by: Gehad elrobey --- templatelayout.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'templatelayout.cpp') diff --git a/templatelayout.cpp b/templatelayout.cpp index 437a6aea6..b0098fbd9 100644 --- a/templatelayout.cpp +++ b/templatelayout.cpp @@ -211,7 +211,7 @@ int Dive::rating() const void Dive::put_divemaster() { if (!dive->divemaster) - m_divemaster = ""; + m_divemaster = "--"; else m_divemaster = dive->divemaster; } @@ -227,6 +227,9 @@ void Dive::put_date_time() void Dive::put_location() { m_location = QString::fromUtf8(get_dive_location(dive)); + if (m_location.isEmpty()) { + m_location = "--"; + } } void Dive::put_depth() @@ -242,7 +245,7 @@ void Dive::put_duration() void Dive::put_buddy() { if (!dive->buddy) - m_buddy = ""; + m_buddy = "--"; else m_buddy = dive->buddy; } @@ -251,11 +254,20 @@ void Dive::put_temp() { m_airTemp = get_temperature_string(dive->airtemp, true); m_waterTemp = get_temperature_string(dive->watertemp, true); + if (m_airTemp.isEmpty()) { + m_airTemp = "--"; + } + if (m_waterTemp.isEmpty()) { + m_waterTemp = "--"; + } } void Dive::put_notes() { m_notes = QString::fromUtf8(dive->notes); + if (m_notes.isEmpty()) { + m_notes = "--"; + } } void Dive::put_tags() -- cgit v1.2.3-70-g09d2