subsurface/templatelayout.h
Gehad elrobey 1040f0d4e5 Printing: fix rendering bug for odd number of dives
Odd number of dives needs extra space from the buttom, so that when we
scroll to the last page extra whitespace is shown under the last dive
frame, this is fixed by adding a default footer to the base template.

Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2015-06-19 21:41:56 +03:00

103 lines
1.9 KiB
C++

#ifndef TEMPLATELAYOUT_H
#define TEMPLATELAYOUT_H
#include <grantlee_templates.h>
#include "mainwindow.h"
int getTotalWork();
class TemplateLayout : public QObject {
Q_OBJECT
public:
TemplateLayout();
~TemplateLayout();
QString generate();
private:
Grantlee::Engine *m_engine;
signals:
void progressUpdated(int value);
};
class Dive {
private:
int m_number;
QString m_date;
QString m_time;
QString m_location;
QString m_duration;
QString m_depth;
QString m_divemaster;
QString m_buddy;
QString m_airTemp;
QString m_waterTemp;
QString m_notes;
struct dive *dive;
void put_date_time();
void put_location();
void put_duration();
void put_depth();
void put_divemaster();
void put_buddy();
void put_temp();
void put_notes();
public:
Dive(struct dive *dive)
: dive(dive)
{
m_number = dive->number;
put_date_time();
put_location();
put_duration();
put_depth();
put_divemaster();
put_buddy();
put_temp();
put_notes();
}
Dive();
~Dive();
int number() const;
QString date() const;
QString time() const;
QString location() const;
QString duration() const;
QString depth() const;
QString divemaster() const;
QString buddy() const;
QString airTemp() const;
QString waterTemp() const;
QString notes() const;
};
Q_DECLARE_METATYPE(Dive)
GRANTLEE_BEGIN_LOOKUP(Dive)
if (property == "number")
return object.number();
else if (property == "date")
return object.date();
else if (property == "time")
return object.time();
else if (property == "location")
return object.location();
else if (property == "duration")
return object.duration();
else if (property == "depth")
return object.depth();
else if (property == "divemaster")
return object.divemaster();
else if (property == "buddy")
return object.buddy();
else if (property == "airTemp")
return object.airTemp();
else if (property == "waterTemp")
return object.waterTemp();
else if (property == "notes")
return object.notes();
GRANTLEE_END_LOOKUP
#endif