mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Cleanup: remove TemplateLayout::m_engine member variable
TemplateLayout::m_engine is a Grantlee::Engine that is reallocated for every function call. Instead of the archaic memory-management, remove the member variable and make it a local variable of the two functions that need it. There seems to be no point in keeping the object alive beyond the function's scope. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
b2b328fd7e
commit
449dec8269
2 changed files with 6 additions and 16 deletions
|
@ -92,18 +92,12 @@ void copy_bundled_templates(QString src, QString dst, QStringList *templateBacku
|
|||
}
|
||||
}
|
||||
|
||||
TemplateLayout::TemplateLayout(print_options *PrintOptions, template_options *templateOptions) :
|
||||
m_engine(NULL)
|
||||
TemplateLayout::TemplateLayout(print_options *PrintOptions, template_options *templateOptions)
|
||||
{
|
||||
this->PrintOptions = PrintOptions;
|
||||
this->templateOptions = templateOptions;
|
||||
}
|
||||
|
||||
TemplateLayout::~TemplateLayout()
|
||||
{
|
||||
delete m_engine;
|
||||
}
|
||||
|
||||
/* a HTML pre-processor stage. acts like a compatibility layer
|
||||
* between some Grantlee variables and DiveObjectHelper Q_PROPERTIES;
|
||||
*/
|
||||
|
@ -143,8 +137,7 @@ QString TemplateLayout::generate()
|
|||
int totalWork = getTotalWork(PrintOptions);
|
||||
|
||||
QString htmlContent;
|
||||
delete m_engine;
|
||||
m_engine = new Grantlee::Engine(this);
|
||||
Grantlee::Engine engine(this);
|
||||
Grantlee::registerMetaType<template_options>();
|
||||
Grantlee::registerMetaType<print_options>();
|
||||
|
||||
|
@ -177,7 +170,7 @@ QString TemplateLayout::generate()
|
|||
QString preprocessed = preprocessTemplate(templateContents);
|
||||
|
||||
/* create the template from QString; is this thing allocating memory? */
|
||||
Grantlee::Template t = m_engine->newTemplate(preprocessed, PrintOptions->p_template);
|
||||
Grantlee::Template t = engine.newTemplate(preprocessed, PrintOptions->p_template);
|
||||
if (!t || t->error()) {
|
||||
qDebug() << "Can't load template";
|
||||
return htmlContent;
|
||||
|
@ -194,13 +187,12 @@ QString TemplateLayout::generate()
|
|||
QString TemplateLayout::generateStatistics()
|
||||
{
|
||||
QString htmlContent;
|
||||
delete m_engine;
|
||||
m_engine = new Grantlee::Engine(this);
|
||||
Grantlee::Engine engine(this);
|
||||
|
||||
QSharedPointer<Grantlee::FileSystemTemplateLoader> m_templateLoader =
|
||||
QSharedPointer<Grantlee::FileSystemTemplateLoader>(new Grantlee::FileSystemTemplateLoader());
|
||||
m_templateLoader->setTemplateDirs(QStringList() << getPrintingTemplatePathUser() + QDir::separator() + QString("statistics"));
|
||||
m_engine->addTemplateLoader(m_templateLoader);
|
||||
engine.addTemplateLoader(m_templateLoader);
|
||||
|
||||
Grantlee::registerMetaType<YearInfo>();
|
||||
Grantlee::registerMetaType<template_options>();
|
||||
|
@ -222,7 +214,7 @@ QString TemplateLayout::generateStatistics()
|
|||
c.insert("template_options", QVariant::fromValue(*templateOptions));
|
||||
c.insert("print_options", QVariant::fromValue(*PrintOptions));
|
||||
|
||||
Grantlee::Template t = m_engine->loadByName(PrintOptions->p_template);
|
||||
Grantlee::Template t = engine.loadByName(PrintOptions->p_template);
|
||||
if (!t || t->error()) {
|
||||
qDebug() << "Can't load template";
|
||||
return htmlContent;
|
||||
|
|
|
@ -21,14 +21,12 @@ class TemplateLayout : public QObject {
|
|||
Q_OBJECT
|
||||
public:
|
||||
TemplateLayout(print_options *PrintOptions, template_options *templateOptions);
|
||||
~TemplateLayout();
|
||||
QString generate();
|
||||
QString generateStatistics();
|
||||
static QString readTemplate(QString template_name);
|
||||
static void writeTemplate(QString template_name, QString grantlee_template);
|
||||
|
||||
private:
|
||||
Grantlee::Engine *m_engine;
|
||||
print_options *PrintOptions;
|
||||
template_options *templateOptions;
|
||||
|
||||
|
|
Loading…
Reference in a new issue