printing: don't access displayed_dive in printing code

To phase out this global variable, avoid access of displayed_dive
in the printing code. This is used when printing a plan. Instead,
when in plan-mode, pass the planned dive to the printing code
as a single dive to be printed.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2022-11-06 20:37:53 +01:00 committed by bstoeger
parent 80df790efc
commit d51589b9a7
8 changed files with 44 additions and 29 deletions

View file

@ -95,24 +95,14 @@ TemplateLayout::TemplateLayout(const print_options &printOptions, const template
{
}
QString TemplateLayout::generate(bool in_planner)
QString TemplateLayout::generate(const std::vector<dive *> &dives)
{
QString htmlContent;
State state;
if (in_planner) {
state.dives.append(&displayed_dive);
} else {
int i;
struct dive *dive;
for_each_dive (i, dive) {
//TODO check for exporting selected dives only
if (!dive->selected && printOptions.print_selected)
continue;
state.dives.append(dive);
}
}
for (dive *d: dives)
state.dives.append(d);
QString templateContents = readTemplate(printOptions.p_template);
numDives = state.dives.size();