1 /*
2 SPDX-FileCopyrightText: 2012 Marco Martin <mart@kde.org>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7 #include "okularplugin.h"
8
9 #include "documentitem.h"
10 #include "okularsingleton.h"
11 #include "pageitem.h"
12 #include "thumbnailitem.h"
13
14 #include <QApplication>
15 #include <QPluginLoader>
16 #include <QQmlEngine>
17
registerTypes(const char * uri)18 void OkularPlugin::registerTypes(const char *uri)
19 {
20 if (!qobject_cast<QApplication *>(qApp)) {
21 qWarning() << "The Okular QML components require a QApplication";
22 return;
23 }
24 if (QString::fromLocal8Bit(uri) != QLatin1String("org.kde.okular")) {
25 return;
26 }
27 qmlRegisterSingletonType<OkularSingleton>(uri, 2, 0, "Okular", [](QQmlEngine *, QJSEngine *) -> QObject * { return new OkularSingleton; });
28 qmlRegisterType<DocumentItem>(uri, 2, 0, "DocumentItem");
29 qmlRegisterType<PageItem>(uri, 2, 0, "PageItem");
30 qmlRegisterType<ThumbnailItem>(uri, 2, 0, "ThumbnailItem");
31 }
32