Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
PIM
KCalUtils
Commits
a0b30823
Commit
a0b30823
authored
Jan 31, 2022
by
Laurent Montel
Browse files
Port to KTextTemplate
parent
dfab3748
Pipeline
#131336
passed with stage
in 45 seconds
Changes
7
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
src/grantlee_plugin/datetimefilters.cpp
View file @
a0b30823
...
...
@@ -7,8 +7,11 @@
#include
"datetimefilters.h"
#include
"../incidenceformatter.h"
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
#include
<grantlee/safestring.h>
#else
#include
<KTextTemplate/safestring.h>
#endif
KDateFilter
::
KDateFilter
()
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
...
...
src/grantleeki18nlocalizer.cpp
View file @
a0b30823
...
...
@@ -9,13 +9,20 @@
#include
"kcalutils_debug.h"
#include
<QLocale>
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
#include
<grantlee/safestring.h>
#else
#include
<KTextTemplate/safestring.h>
#endif
#include
<KLocalizedString>
GrantleeKi18nLocalizer
::
GrantleeKi18nLocalizer
()
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
:
Grantlee
::
QtLocalizer
()
#else
:
KTextTemplate
::
QtLocalizer
()
#endif
{
}
...
...
@@ -50,10 +57,17 @@ QString GrantleeKi18nLocalizer::processArguments(const KLocalizedString &kstr, c
str
=
str
.
subs
(
iter
->
toDouble
());
break
;
case
QVariant
::
UserType
:
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
if
(
iter
->
canConvert
<
Grantlee
::
SafeString
>
())
{
str
=
str
.
subs
(
iter
->
value
<
Grantlee
::
SafeString
>
().
get
());
break
;
}
#else
if
(
iter
->
canConvert
<
KTextTemplate
::
SafeString
>
())
{
str
=
str
.
subs
(
iter
->
value
<
KTextTemplate
::
SafeString
>
().
get
());
break
;
}
#endif
// fall-through
Q_FALLTHROUGH
();
default:
...
...
src/grantleeki18nlocalizer_p.h
View file @
a0b30823
...
...
@@ -6,14 +6,21 @@
*/
#pragma once
#include
<QObject>
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
#include
<grantlee/qtlocalizer.h>
#else
#include
<KTextTemplate/qtlocalizer.h>
#endif
#include
<QLocale>
class
KLocalizedString
;
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
class
GrantleeKi18nLocalizer
:
public
Grantlee
::
QtLocalizer
#else
class
GrantleeKi18nLocalizer
:
public
KTextTemplate
::
QtLocalizer
#endif
{
public:
explicit
GrantleeKi18nLocalizer
();
...
...
src/grantleetemplatemanager.cpp
View file @
a0b30823
...
...
@@ -14,17 +14,26 @@
#include
<QDebug>
#include
<QStandardPaths>
#include
<QString>
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
#include
<grantlee/engine.h>
#include
<grantlee/template.h>
#include
<grantlee/templateloader.h>
#else
#include
<KTextTemplate/engine.h>
#include
<KTextTemplate/template.h>
#include
<KTextTemplate/templateloader.h>
#endif
#include
<KLocalizedString>
GrantleeTemplateManager
*
GrantleeTemplateManager
::
sInstance
=
nullptr
;
GrantleeTemplateManager
::
GrantleeTemplateManager
()
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
:
mEngine
(
new
Grantlee
::
Engine
)
#else
:
mEngine
(
new
KTextTemplate
::
Engine
)
#endif
,
mLoader
(
new
KCalUtils
::
QtResourceTemplateLoader
)
,
mLocalizer
(
new
GrantleeKi18nLocalizer
)
{
...
...
@@ -66,17 +75,29 @@ void GrantleeTemplateManager::setPluginPath(const QString &path)
pluginPaths
.
prepend
(
path
);
mEngine
->
setPluginPaths
(
pluginPaths
);
}
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
Grantlee
::
Context
GrantleeTemplateManager
::
createContext
(
const
QVariantHash
&
hash
)
const
#else
KTextTemplate
::
Context
GrantleeTemplateManager
::
createContext
(
const
QVariantHash
&
hash
)
const
#endif
{
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
Grantlee
::
Context
ctx
;
#else
KTextTemplate
::
Context
ctx
;
#endif
ctx
.
insert
(
QStringLiteral
(
"incidence"
),
hash
);
ctx
.
setLocalizer
(
mLocalizer
);
return
ctx
;
}
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
QString
GrantleeTemplateManager
::
errorTemplate
(
const
QString
&
reason
,
const
QString
&
origTemplateName
,
const
Grantlee
::
Template
&
failedTemplate
)
const
#else
QString
GrantleeTemplateManager
::
errorTemplate
(
const
QString
&
reason
,
const
QString
&
origTemplateName
,
const
KTextTemplate
::
Template
&
failedTemplate
)
const
#endif
{
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
Grantlee
::
Template
tpl
=
mEngine
->
newTemplate
(
QStringLiteral
(
"<h1>{{ error }}</h1>
\n
"
"<b>%1:</b> {{ templateName }}<br>
\n
"
"<b>%2:</b> {{ errorMessage }}"
)
...
...
@@ -84,6 +105,15 @@ QString GrantleeTemplateManager::errorTemplate(const QString &reason, const QStr
QStringLiteral
(
"TemplateError"
));
Grantlee
::
Context
ctx
=
createContext
();
#else
KTextTemplate
::
Template
tpl
=
mEngine
->
newTemplate
(
QStringLiteral
(
"<h1>{{ error }}</h1>
\n
"
"<b>%1:</b> {{ templateName }}<br>
\n
"
"<b>%2:</b> {{ errorMessage }}"
)
.
arg
(
i18n
(
"Template"
),
i18n
(
"Error message"
)),
QStringLiteral
(
"TemplateError"
));
KTextTemplate
::
Context
ctx
=
createContext
();
#endif
ctx
.
insert
(
QStringLiteral
(
"error"
),
reason
);
ctx
.
insert
(
QStringLiteral
(
"templateName"
),
origTemplateName
);
ctx
.
insert
(
QStringLiteral
(
"errorMessage"
),
failedTemplate
->
errorString
());
...
...
@@ -96,12 +126,19 @@ QString GrantleeTemplateManager::render(const QString &templateName, const QVari
qWarning
()
<<
"Cannot load template"
<<
templateName
<<
", please check your installation"
;
return
QString
();
}
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
Grantlee
::
Template
tpl
=
mLoader
->
loadByName
(
templateName
,
mEngine
);
#else
KTextTemplate
::
Template
tpl
=
mLoader
->
loadByName
(
templateName
,
mEngine
);
#endif
if
(
tpl
->
error
())
{
return
errorTemplate
(
i18n
(
"Template parsing error"
),
templateName
,
tpl
);
}
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
Grantlee
::
Context
ctx
=
createContext
(
data
);
#else
KTextTemplate
::
Context
ctx
=
createContext
(
data
);
#endif
const
QString
result
=
tpl
->
render
(
&
ctx
);
if
(
tpl
->
error
())
{
return
errorTemplate
(
i18n
(
"Template rendering error"
),
templateName
,
tpl
);
...
...
src/grantleetemplatemanager_p.h
View file @
a0b30823
...
...
@@ -11,7 +11,11 @@
#include
<QSharedPointer>
#include
<QVariantHash>
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
namespace
Grantlee
#else
namespace
KTextTemplate
#endif
{
class
Engine
;
class
FileSystemTemplateLoader
;
...
...
@@ -38,12 +42,21 @@ public:
private:
Q_DISABLE_COPY
(
GrantleeTemplateManager
)
GrantleeTemplateManager
();
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
QString
errorTemplate
(
const
QString
&
reason
,
const
QString
&
origTemplateName
,
const
Grantlee
::
Template
&
failedTemplate
)
const
;
Grantlee
::
Context
createContext
(
const
QVariantHash
&
hash
=
QVariantHash
())
const
;
#else
QString
errorTemplate
(
const
QString
&
reason
,
const
QString
&
origTemplateName
,
const
KTextTemplate
::
Template
&
failedTemplate
)
const
;
KTextTemplate
::
Context
createContext
(
const
QVariantHash
&
hash
=
QVariantHash
())
const
;
#endif
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
Grantlee
::
Engine
*
const
mEngine
;
QSharedPointer
<
Grantlee
::
FileSystemTemplateLoader
>
mLoader
;
#else
KTextTemplate
::
Engine
*
const
mEngine
;
QSharedPointer
<
KTextTemplate
::
FileSystemTemplateLoader
>
mLoader
;
#endif
QSharedPointer
<
GrantleeKi18nLocalizer
>
mLocalizer
;
static
GrantleeTemplateManager
*
sInstance
;
...
...
src/qtresourcetemplateloader.cpp
View file @
a0b30823
...
...
@@ -9,23 +9,41 @@
#include
<QFile>
#include
<QTextStream>
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
#include
<grantlee/engine.h>
#else
#include
<KTextTemplate/engine.h>
#endif
// TODO: remove this class when Grantlee support it
using
namespace
KCalUtils
;
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
QtResourceTemplateLoader
::
QtResourceTemplateLoader
(
const
QSharedPointer
<
Grantlee
::
AbstractLocalizer
>
&
localizer
)
:
Grantlee
::
FileSystemTemplateLoader
(
localizer
)
{
}
#else
QtResourceTemplateLoader
::
QtResourceTemplateLoader
(
const
QSharedPointer
<
KTextTemplate
::
AbstractLocalizer
>
&
localizer
)
:
KTextTemplate
::
FileSystemTemplateLoader
(
localizer
)
{
}
#endif
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
Grantlee
::
Template
QtResourceTemplateLoader
::
loadByName
(
const
QString
&
fileName
,
const
Grantlee
::
Engine
*
engine
)
const
#else
KTextTemplate
::
Template
QtResourceTemplateLoader
::
loadByName
(
const
QString
&
fileName
,
const
KTextTemplate
::
Engine
*
engine
)
const
#endif
{
// Qt resource file
if
(
fileName
.
startsWith
(
QLatin1String
(
":/"
)))
{
QFile
file
;
file
.
setFileName
(
fileName
);
if
(
!
file
.
exists
()
||
!
file
.
open
(
QIODevice
::
ReadOnly
|
QIODevice
::
Text
))
{
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
return
Grantlee
::
Template
();
#else
return
KTextTemplate
::
Template
();
#endif
}
QTextStream
fstream
(
&
file
);
...
...
@@ -36,7 +54,11 @@ Grantlee::Template QtResourceTemplateLoader::loadByName(const QString &fileName,
return
engine
->
newTemplate
(
fileContent
,
fileName
);
}
else
{
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
return
Grantlee
::
FileSystemTemplateLoader
::
loadByName
(
fileName
,
engine
);
#else
return
KTextTemplate
::
FileSystemTemplateLoader
::
loadByName
(
fileName
,
engine
);
#endif
}
}
...
...
@@ -53,6 +75,10 @@ bool QtResourceTemplateLoader::canLoadTemplate(const QString &name) const
file
.
close
();
return
true
;
}
else
{
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
return
Grantlee
::
FileSystemTemplateLoader
::
canLoadTemplate
(
name
);
#else
return
KTextTemplate
::
FileSystemTemplateLoader
::
canLoadTemplate
(
name
);
#endif
}
}
src/qtresourcetemplateloader.h
View file @
a0b30823
...
...
@@ -6,16 +6,31 @@
*/
#pragma once
#include
"grantlee/templateloader.h"
#include
<QObject>
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
#include
<grantlee/templateloader.h>
#else
#include
<KTextTemplate/templateloader.h>
#endif
namespace
KCalUtils
{
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
class
QtResourceTemplateLoader
:
public
Grantlee
::
FileSystemTemplateLoader
#else
class
QtResourceTemplateLoader
:
public
KTextTemplate
::
FileSystemTemplateLoader
#endif
{
public:
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
QtResourceTemplateLoader
(
const
QSharedPointer
<
Grantlee
::
AbstractLocalizer
>
&
localizer
=
QSharedPointer
<
Grantlee
::
AbstractLocalizer
>
());
Q_REQUIRED_RESULT
Grantlee
::
Template
loadByName
(
const
QString
&
fileName
,
const
Grantlee
::
Engine
*
engine
)
const
override
;
#else
QtResourceTemplateLoader
(
const
QSharedPointer
<
KTextTemplate
::
AbstractLocalizer
>
&
localizer
=
QSharedPointer
<
KTextTemplate
::
AbstractLocalizer
>
());
Q_REQUIRED_RESULT
KTextTemplate
::
Template
loadByName
(
const
QString
&
fileName
,
const
KTextTemplate
::
Engine
*
engine
)
const
override
;
#endif
Q_REQUIRED_RESULT
bool
canLoadTemplate
(
const
QString
&
name
)
const
override
;
};
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment