Warning, file /maui/mauikit-calendar/src/code/plugin.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 #include "plugin.h" 0002 0003 #include <QQmlEngine> 0004 0005 #include "infinitecalendarviewmodel.h" 0006 #include "hourlyincidencemodel.h" 0007 #include "incidenceoccurrencemodel.h" 0008 #include "timezonelistmodel.h" 0009 #include "monthmodel.h" 0010 0011 #include "calendarmanager.h" 0012 #include "incidencewrapper.h" 0013 #include "filter.h" 0014 0015 #include "collection.h" 0016 #include "collectioncomboboxmodel.h" 0017 #include "mimetypes.h" 0018 0019 //#include <KCalendarCore/MemoryCalendar> 0020 //#include <KCalendarCore/VCalFormat> 0021 #include <akonadi_version.h> 0022 #include <Akonadi/Collection> 0023 #include <Akonadi/AgentFilterProxyModel> 0024 0025 void MauiCalendarPlugin::registerTypes(const char *uri) 0026 { 0027 Q_ASSERT(uri == QByteArray("org.mauikit.calendar")); 0028 0029 qmlRegisterType<IncidenceWrapper>(uri, 1, 0, "IncidenceWrapper"); 0030 // qmlRegisterType<AttendeesModel>(uri, 1, 0, "AttendeesModel"); 0031 qmlRegisterType<MultiDayIncidenceModel>(uri, 1, 0, "MultiDayIncidenceModel"); 0032 qmlRegisterType<IncidenceOccurrenceModel>(uri, 1, 0, "IncidenceOccurrenceModel"); 0033 // qmlRegisterType<TodoSortFilterProxyModel>(uri, 1, 0, "TodoSortFilterProxyModel"); 0034 // qmlRegisterType<ItemTagsModel>(uri, 1, 0, "ItemTagsModel"); 0035 qmlRegisterType<HourlyIncidenceModel>(uri, 1, 0, "HourlyIncidenceModel"); 0036 qmlRegisterType<TimeZoneListModel>(uri, 1, 0, "TimeZoneListModel"); 0037 qmlRegisterType<MonthModel>(uri, 1, 0, "MonthModel"); 0038 qmlRegisterType<InfiniteCalendarViewModel>(uri, 1, 0, "InfiniteCalendarViewModel"); 0039 0040 qmlRegisterSingletonType<CalendarManager>(uri, 1, 0, "CalendarManager", [](QQmlEngine *engine, QJSEngine *scriptEngine) -> QObject * { 0041 Q_UNUSED(scriptEngine) 0042 auto cal = CalendarManager::instance(); 0043 engine->setObjectOwnership(cal, QQmlEngine::CppOwnership); 0044 return cal; 0045 }); 0046 0047 qmlRegisterSingletonType<Filter>(uri, 1, 0, "Filter", [](QQmlEngine *engine, QJSEngine *scriptEngine) { 0048 Q_UNUSED(engine) 0049 Q_UNUSED(scriptEngine) 0050 return new Filter; 0051 }); 0052 0053 //Taken from Kalendar Akonadi plugin 0054 qmlRegisterSingletonType<Akonadi::Quick::MimeTypes>(uri, 1, 0, "MimeTypes", [](QQmlEngine *engine, QJSEngine *scriptEngine) { 0055 Q_UNUSED(engine) 0056 Q_UNUSED(scriptEngine) 0057 return new Akonadi::Quick::MimeTypes; 0058 }); 0059 0060 qmlRegisterType<Akonadi::Quick::CollectionComboBoxModel>(uri, 1, 0, "CollectionComboBoxModel"); 0061 // qmlRegisterType<Akonadi::Quick::CollectionPickerModel>(uri, 1, 0, "CollectionPickerModel"); 0062 qmlRegisterUncreatableType<Akonadi::Quick::Collection>(uri, 1, 0, "Collection", QStringLiteral("It's just an enum")); 0063 qRegisterMetaType<Akonadi::ETMCalendar::Ptr>(); 0064 qRegisterMetaType<QAbstractProxyModel *>("QAbstractProxyModel*"); 0065 qRegisterMetaType<Akonadi::AgentFilterProxyModel *>(); 0066 0067 //QML STUFF 0068 qmlRegisterSingletonType(resolveFileUrl(QStringLiteral("KalendarUiUtils.qml")), uri, 1, 0, "KalendarUiUtils"); 0069 0070 qmlRegisterType(resolveFileUrl(QStringLiteral("DayLabelsBar.qml")), uri, 1, 0, "DayLabelsBar"); 0071 qmlRegisterType(resolveFileUrl(QStringLiteral("MonthView.qml")), uri, 1, 0, "MonthView"); 0072 qmlRegisterType(resolveFileUrl(QStringLiteral("YearView.qml")), uri, 1, 0, "YearView"); 0073 0074 qmlRegisterType(resolveFileUrl(QStringLiteral("EventPage.qml")), uri, 1, 0, "EventPage"); 0075 0076 qmlRegisterType(resolveFileUrl(QStringLiteral("DayGridView.qml")), uri, 1, 0, "DayGridView"); 0077 qmlRegisterType(resolveFileUrl(QStringLiteral("HourlyView.qml")), uri, 1, 0, "HourlyView"); 0078 0079 qmlRegisterType(resolveFileUrl(QStringLiteral("DateComboBox.qml")), uri, 1, 0, "DateComboBox"); 0080 qmlRegisterType(resolveFileUrl(QStringLiteral("TimeComboBox.qml")), uri, 1, 0, "TimeComboBox"); 0081 0082 qmlRegisterType(resolveFileUrl(QStringLiteral("TimePicker.qml")), uri, 1, 0, "TimePicker"); 0083 qmlRegisterType(resolveFileUrl(QStringLiteral("DatePicker.qml")), uri, 1, 0, "DatePicker"); 0084 0085 qmlRegisterType(resolveFileUrl(QStringLiteral("MonthsGrid.qml")), uri, 1, 0, "MonthsGrid"); 0086 qmlRegisterType(resolveFileUrl(QStringLiteral("DaysGrid.qml")), uri, 1, 0, "DaysGrid"); 0087 qmlRegisterType(resolveFileUrl(QStringLiteral("YearsGrid.qml")), uri, 1, 0, "YearsGrid"); 0088 } 0089 0090 #include "plugin.moc" 0091 #include "moc_plugin.cpp"