1 | /* |
2 | SPDX-FileCopyrightText: 2014 Bhushan Shah <bhush94@gmail.com> |
3 | SPDX-FileCopyrightText: 2014 David Edmundson <davidedmundson@kde.org> |
4 | SPDX-FileCopyrightText: 2023 Alexander Lohnau <alexander.lohnau@gmx.de> |
5 | |
6 | SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL |
7 | */ |
8 | |
9 | #include <QQmlEngine> |
10 | #include <QQmlExtensionPlugin> |
11 | |
12 | #include <KAboutData> |
13 | #include <KTextToHTML> |
14 | |
15 | class KTextToHtmlWrapper |
16 | { |
17 | Q_GADGET |
18 | Q_INVOKABLE [[nodiscard]] static QString |
19 | convertToHtml(const QString &plainText, const KTextToHTML::Options &options, int maxUrlLen = 4096, int maxAddressLen = 255) |
20 | { |
21 | return KTextToHTML::convertToHtml(plainText, options, maxUrlLen, maxAddressLen); |
22 | } |
23 | }; |
24 | |
25 | class KCoreAddonsPlugin : public QQmlExtensionPlugin |
26 | { |
27 | Q_OBJECT |
28 | Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface" ) |
29 | |
30 | public: |
31 | void registerTypes(const char *uri) override |
32 | { |
33 | qmlRegisterSingletonType(uri, versionMajor: 1, versionMinor: 0, typeName: "AboutData" , callback: [](QQmlEngine *engine, QJSEngine *) -> QJSValue { |
34 | return engine->toScriptValue(value: KAboutData::applicationData()); |
35 | }); |
36 | qmlRegisterSingletonType(uri, versionMajor: 1, versionMinor: 0, typeName: "KTextToHTML" , callback: [](QQmlEngine *engine, QJSEngine *) -> QJSValue { |
37 | return engine->toScriptValue(value: KTextToHtmlWrapper()); |
38 | }); |
39 | } |
40 | }; |
41 | |
42 | #include "kcoreaddonsplugin.moc" |
43 | |