File indexing completed on 2024-05-12 05:13:33

0001 /*
0002   SPDX-FileCopyrightText: 2016 Daniel Vrátil <dvratil@kde.org>
0003 
0004   SPDX-License-Identifier: LGPL-2.1-or-later
0005 */
0006 
0007 #include "grantleethemeengine.h"
0008 #include "grantleeki18nlocalizer.h"
0009 
0010 #include <config-grantleetheme.h>
0011 
0012 using namespace GrantleeTheme;
0013 
0014 class GrantleeTheme::EnginePrivate
0015 {
0016 public:
0017     EnginePrivate() = default;
0018 
0019     ~EnginePrivate() = default;
0020 
0021     QWeakPointer<GrantleeKi18nLocalizer> localizer;
0022 };
0023 
0024 Engine::Engine(QObject *parent)
0025     : KTextTemplate::Engine(parent)
0026     , d(new GrantleeTheme::EnginePrivate)
0027 {
0028     addPluginPath(QStringLiteral(GRANTLEE_PLUGIN_INSTALL_DIR));
0029     addDefaultLibrary(QStringLiteral("ktexttemplate_i18ntags"));
0030     addDefaultLibrary(QStringLiteral("kde_grantlee_plugin"));
0031     addDefaultLibrary(QStringLiteral("ktexttemplate_scriptabletags"));
0032     setSmartTrimEnabled(true);
0033 }
0034 
0035 Engine::~Engine() = default;
0036 
0037 QSharedPointer<GrantleeKi18nLocalizer> Engine::localizer() const
0038 {
0039     auto loc = d->localizer.toStrongRef();
0040     if (!loc) {
0041         loc.reset(new GrantleeKi18nLocalizer());
0042         d->localizer = loc.toWeakRef();
0043     }
0044     return loc;
0045 }
0046 
0047 #include "moc_grantleethemeengine.cpp"