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