File indexing completed on 2024-05-12 16:06:53

0001 /*
0002     SPDX-FileCopyrightText: 2012 Marco Martin <mart@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "okularplugin.h"
0008 
0009 #include "documentitem.h"
0010 #include "gui/certificatemodel.h"
0011 #include "okularsingleton.h"
0012 #include "pageitem.h"
0013 #include "thumbnailitem.h"
0014 
0015 #include <QApplication>
0016 #include <QPluginLoader>
0017 #include <QQmlEngine>
0018 
0019 void OkularPlugin::registerTypes(const char *uri)
0020 {
0021     if (!qobject_cast<QApplication *>(qApp)) {
0022         qWarning() << "The Okular QML components require a QApplication";
0023         return;
0024     }
0025     if (QString::fromLocal8Bit(uri) != QLatin1String("org.kde.okular")) {
0026         return;
0027     }
0028     qmlRegisterSingletonType<OkularSingleton>(uri, 2, 0, "Okular", [](QQmlEngine *, QJSEngine *) -> QObject * { return new OkularSingleton; });
0029     qmlRegisterType<DocumentItem>(uri, 2, 0, "DocumentItem");
0030     qmlRegisterType<PageItem>(uri, 2, 0, "PageItem");
0031     qmlRegisterType<ThumbnailItem>(uri, 2, 0, "ThumbnailItem");
0032     qmlRegisterUncreatableType<CertificateModel>(uri, 2, 0, "CertificateModel", QStringLiteral("Do not create objects of this type."));
0033 }