mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-19 06:15:26 +00:00
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 <neolit123@gmail.com> Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
This commit is contained in:
parent
e2dcee55a3
commit
f05e9c5c79
2 changed files with 80 additions and 0 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,6 +32,7 @@ class Dive {
|
|||
private:
|
||||
int m_number;
|
||||
int m_id;
|
||||
int m_rating;
|
||||
QString m_date;
|
||||
QString m_time;
|
||||
QString m_location;
|
||||
|
@ -42,6 +43,9 @@ private:
|
|||
QString m_airTemp;
|
||||
QString m_waterTemp;
|
||||
QString m_notes;
|
||||
QString m_tags;
|
||||
QString m_gas;
|
||||
QString m_sac;
|
||||
struct dive *dive;
|
||||
void put_date_time();
|
||||
void put_location();
|
||||
|
@ -51,6 +55,9 @@ private:
|
|||
void put_buddy();
|
||||
void put_temp();
|
||||
void put_notes();
|
||||
void put_tags();
|
||||
void put_gas();
|
||||
void put_sac();
|
||||
|
||||
public:
|
||||
Dive(struct dive *dive)
|
||||
|
@ -58,6 +65,7 @@ public:
|
|||
{
|
||||
m_number = dive->number;
|
||||
m_id = dive->id;
|
||||
m_rating = dive->rating;
|
||||
put_date_time();
|
||||
put_location();
|
||||
put_duration();
|
||||
|
@ -66,11 +74,15 @@ public:
|
|||
put_buddy();
|
||||
put_temp();
|
||||
put_notes();
|
||||
put_tags();
|
||||
put_gas();
|
||||
put_sac();
|
||||
}
|
||||
Dive();
|
||||
~Dive();
|
||||
int number() const;
|
||||
int id() const;
|
||||
int rating() const;
|
||||
QString date() const;
|
||||
QString time() const;
|
||||
QString location() const;
|
||||
|
@ -81,6 +93,9 @@ public:
|
|||
QString airTemp() const;
|
||||
QString waterTemp() const;
|
||||
QString notes() const;
|
||||
QString tags() const;
|
||||
QString gas() const;
|
||||
QString sac() const;
|
||||
};
|
||||
|
||||
Q_DECLARE_METATYPE(Dive)
|
||||
|
@ -112,6 +127,14 @@ else if (property == "waterTemp")
|
|||
return object.waterTemp();
|
||||
else if (property == "notes")
|
||||
return object.notes();
|
||||
else if (property == "rating")
|
||||
return object.rating();
|
||||
else if (property == "sac")
|
||||
return object.sac();
|
||||
else if (property == "tags")
|
||||
return object.tags();
|
||||
else if (property == "gas")
|
||||
return object.gas();
|
||||
GRANTLEE_END_LOOKUP
|
||||
|
||||
GRANTLEE_BEGIN_LOOKUP(template_options)
|
||||
|
|
Loading…
Add table
Reference in a new issue