Grantlee: split out grantlee-only property from DiveObjectHelper

The cylindersObject list was only used by grantlee but not by
the mobile code. Since it is quite heavy, split it out and thus
don't generate it for every dive on mobile.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2019-08-22 19:40:42 +02:00 committed by bstoeger
parent 6a9df3bba3
commit 718c07c1a8
4 changed files with 32 additions and 10 deletions

View file

@ -100,7 +100,7 @@ TemplateLayout::TemplateLayout(print_options *printOptions, template_options *te
}
/* a HTML pre-processor stage. acts like a compatibility layer
* between some Grantlee variables and DiveObjectHelper Q_PROPERTIES:
* between some Grantlee variables and DiveObjectHelperGrantlee Q_PROPERTIES:
* dive.weights -> dive.weightList
* dive.weight# -> dive.weights.#
* dive.cylinders -> dive.cylinderList
@ -134,13 +134,13 @@ QString TemplateLayout::generate()
Grantlee::registerMetaType<template_options>();
Grantlee::registerMetaType<print_options>();
Grantlee::registerMetaType<CylinderObjectHelper>(); // TODO: Remove when grantlee supports Q_GADGET
Grantlee::registerMetaType<DiveObjectHelper>(); // TODO: Remove when grantlee supports Q_GADGET
Grantlee::registerMetaType<DiveObjectHelperGrantlee>(); // TODO: Remove when grantlee supports Q_GADGET
QVariantList diveList;
struct dive *dive;
if (in_planner()) {
diveList.append(QVariant::fromValue(DiveObjectHelper(&displayed_dive)));
diveList.append(QVariant::fromValue(DiveObjectHelperGrantlee(&displayed_dive)));
emit progressUpdated(100.0);
} else {
int i;
@ -148,7 +148,7 @@ QString TemplateLayout::generate()
//TODO check for exporting selected dives only
if (!dive->selected && printOptions->print_selected)
continue;
diveList.append(QVariant::fromValue(DiveObjectHelper(dive)));
diveList.append(QVariant::fromValue(DiveObjectHelperGrantlee(dive)));
progress++;
emit progressUpdated(lrint(progress * 100.0 / totalWork));
}
@ -191,7 +191,7 @@ QString TemplateLayout::generateStatistics()
Grantlee::registerMetaType<template_options>();
Grantlee::registerMetaType<print_options>();
Grantlee::registerMetaType<CylinderObjectHelper>(); // TODO: Remove when grantlee supports Q_GADGET
Grantlee::registerMetaType<DiveObjectHelper>(); // TODO: Remove when grantlee supports Q_GADGET
Grantlee::registerMetaType<DiveObjectHelperGrantlee>(); // TODO: Remove when grantlee supports Q_GADGET
QVariantList years;