Cutelyst
2.13.0
|
#include <cuteleeview.h>
Signals | |
void | changed () |
Public Member Functions | |
CuteleeView (QObject *parent=nullptr, const QString &name=QString()) | |
Constructs a CuteleeView object with the given parent and name. | |
void | addTranslationCatalog (const QString &path, const QString &catalog) |
void | addTranslationCatalogs (const QHash< QString, QString > &catalogs) |
void | addTranslator (const QLocale &locale, QTranslator *translator) |
void | addTranslator (const QString &locale, QTranslator *translator) |
Cutelee::Engine * | engine () const |
QStringList | includePaths () const |
Returns the list of include paths. | |
bool | isCaching () const |
Returns true if caching is enabled. | |
QVector< QLocale > | loadTranslationsFromDir (const QString &filename, const QString &directory, const QString &prefix=QStringLiteral("."), const QString &suffix=QStringLiteral(".qm")) |
void | preloadTemplates () |
QByteArray | render (Context *c) const final |
void | setCache (bool enable) |
Sets if template caching should be done, this increases performance at the cost of higher memory usage. | |
void | setIncludePaths (const QStringList &paths) |
Sets the list of include paths which will be looked for when resolving templates files. | |
void | setTemplateExtension (const QString &extension) |
Sets the template extension, defaults to ".html". | |
void | setWrapper (const QString &name) |
Sets the template wrapper name, the template will be rendered into content variable in which the wrapper template should render. | |
QString | templateExtension () const |
Returns the template extension. | |
QString | wrapper () const |
Returns the template wrapper. | |
Public Member Functions inherited from Cutelyst::View | |
View (QObject *parent, const QString &name) | |
virtual Modifiers | modifiers () const override |
void | setMinimalSizeToDeflate (qint32 minSize=-1) |
Public Member Functions inherited from Cutelyst::Component | |
Component (QObject *parent=nullptr) | |
bool | execute (Context *c) |
virtual bool | init (Application *application, const QVariantHash &args) |
QString | name () const |
QString | reverse () const |
void | setName (const QString &name) |
void | setReverse (const QString &reverse) |
Properties | |
bool | cache |
QStringList | includePaths |
QString | templateExtension |
QString | wrapper |
Additional Inherited Members | |
Public Types inherited from Cutelyst::Component | |
enum | Modifier { None, OnlyExecute, BeforeExecute, AroundExecute, AfterExecute } |
Protected Member Functions inherited from Cutelyst::View | |
View (ViewPrivate *d, QObject *parent, const QString &name) | |
A derived class using pimpl should call this constructor, to reduce the number of memory allocations. | |
Protected Member Functions inherited from Cutelyst::Component | |
Component (ComponentPrivate *d, QObject *parent=nullptr) | |
A derived class using pimpl should call this constructor, to reduce the number of memory allocations. | |
virtual bool | afterExecute (Context *c) |
void | applyRoles (const QStack< Component * > &roles) |
virtual bool | aroundExecute (Context *c, QStack< Component * > stack) |
virtual bool | beforeExecute (Context *c) |
virtual bool | dispatcherReady (const Dispatcher *dispatch, Controller *controller) |
CuteleeView is a Cutelyst::View handler that renders templates using Cutelee engine.
This View also exports a Cutelee tag for dealing with Cutelyst::Context::uriFor():
{% c_uri_for "/path" "arg1" "arg2" QUERY "foo=bar" c.req.queryParams %}
Where only the path is required, and QUERY keyword must preceed query parameters
Definition at line 48 of file cuteleeview.h.
void CuteleeView::addTranslationCatalog | ( | const QString & | path, |
const QString & | catalog | ||
) |
Dynamically adds translation catalog at path to the translator.
Translation catalogs can be used to dynamically integrate translations into the CuteleeView, for example for plugins and themes. The catalog could be the name of an extension for example that is loaded from a locale specifc directory under path.
The catalog will be loaded in the following way: /path/locale/catalog, for example /usr/share/mycutelystapp/l10n/de_DE/fancytheme
.qm. The current locale is defined by Context::locale() when rendering the theme. The path /usr/share/myapp/l10n
would then contain locale specific subdirectories like de_DE, pt_BR, etc. that contain the translation files named by catalog.
Definition at line 266 of file cuteleeview.cpp.
void CuteleeView::addTranslationCatalogs | ( | const QHash< QString, QString > & | catalogs | ) |
Adds a dictionary of translation catalogs and paths to the translator.
The key of the QHash is the name of the catalog, the value is the path. See addTranslationCatalog() for more information about translation catalogs.
Definition at line 274 of file cuteleeview.cpp.
void CuteleeView::addTranslator | ( | const QLocale & | locale, |
QTranslator * | translator | ||
) |
Adds a translator for the specified locale to the list of translators.
Definition at line 254 of file cuteleeview.cpp.
Referenced by addTranslator(), and loadTranslationsFromDir().
void CuteleeView::addTranslator | ( | const QString & | locale, |
QTranslator * | translator | ||
) |
Adds a translator for the specified locale to the list of translators.
The locale string should be parseable by QLocale.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 261 of file cuteleeview.cpp.
References addTranslator().
Cutelee::Engine * CuteleeView::engine | ( | ) | const |
Returns the Cutelee::Engine pointer that is used by this engine.
Definition at line 132 of file cuteleeview.cpp.
QVector< QLocale > CuteleeView::loadTranslationsFromDir | ( | const QString & | filename, |
const QString & | directory, | ||
const QString & | prefix = QStringLiteral(".") , |
||
const QString & | suffix = QStringLiteral(".qm") |
||
) |
Loads translations for a specific filename
from a single directory and returns a list of added locales.
This can be used to load translations for a template if the translation file names follow a common schema. Let us assume you organised your translation files as follows:
/usr/share/myapp/translations/mytemplate_de
.qm /usr/share/myapp/translations/mytemplate_pt_BR
.qm
...You can then use loadTranslationsFromDir() on your registered CuteleeView object as follows:
prefix
is the part between the file name and the locale part. In the example above it is "_"
, if it is not set the default "."
will be used. The suffix
is the file name suffix that defaults to ".qm"
.
Definition at line 281 of file cuteleeview.cpp.
References addTranslator().
void CuteleeView::preloadTemplates | ( | ) |
When called cache is set to true and templates are loaded.
Definition at line 138 of file cuteleeview.cpp.
References isCaching(), and setCache().
|
finalvirtual |
All subclasses must reimplement this when doing it's rendering. If an error (c->error()) is not set c->response()->body() is defined with the returned value, this is useful if the view is not meant to be used as a body.
Implements Cutelyst::View.
Definition at line 173 of file cuteleeview.cpp.
References Cutelyst::Context::error(), Cutelyst::Context::locale(), Cutelyst::Context::res(), Cutelyst::Component::reverse(), Cutelyst::Response::setBody(), Cutelyst::Context::setStash(), Cutelyst::Context::stash(), and Cutelyst::Context::translate().