File indexing completed on 2024-04-28 04:40:44
0001 /* 0002 * SPDX-FileCopyrightText: 2019 David Edmundson <davidedmundson@kde.org> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include <QQmlExtensionPlugin> 0008 #include <QQmlEngine> 0009 0010 #include "yearmodel.h" 0011 #include "monthmodel.h" 0012 #include "infinitecalendarviewmodel.h" 0013 0014 #ifdef Q_OS_ANDROID 0015 #include "androidintegration.h" 0016 0017 using namespace KirigamiAddonsDateAndTime; 0018 #endif 0019 0020 class KirigamiAddonsDataAndTimePlugin : public QQmlExtensionPlugin 0021 { 0022 Q_OBJECT 0023 Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface") 0024 0025 public: 0026 KirigamiAddonsDataAndTimePlugin() = default; 0027 ~KirigamiAddonsDataAndTimePlugin() = default; 0028 void registerTypes(const char *uri) override; 0029 }; 0030 0031 void KirigamiAddonsDataAndTimePlugin::registerTypes(const char *uri) 0032 { 0033 qmlRegisterType<YearModel>(uri, 1, 0, "YearModel"); 0034 qmlRegisterType<MonthModel>(uri, 1, 0, "MonthModel"); 0035 qmlRegisterType<InfiniteCalendarViewModel>(uri, 1, 0, "InfiniteCalendarViewModel"); 0036 0037 #ifdef Q_OS_ANDROID 0038 qmlRegisterSingletonType<AndroidIntegration>(uri, 1, 0, "AndroidIntegration", [](QQmlEngine*, QJSEngine*) -> QObject* { 0039 QQmlEngine::setObjectOwnership(&AndroidIntegration::instance(), QQmlEngine::CppOwnership); 0040 return &AndroidIntegration::instance(); 0041 }); 0042 #endif 0043 } 0044 0045 #include "plugin.moc"