File indexing completed on 2024-05-12 16:59:38

0001 /*
0002     SPDX-FileCopyrightText: 2022 Fushan Wen <qydwhotmail@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "abstractcalendarprovider.h"
0010 
0011 /**
0012  * @short An alternate calendar provider for the calendar system available in QCalendar.
0013  *
0014  * This class presents an alternate calendar provider for the calendar system available
0015  * in QCalendar.
0016  * The available calendar systems are listed in QCalendar::availableCalendars().
0017  */
0018 class QtCalendarProvider : public AbstractCalendarProvider
0019 {
0020     Q_OBJECT
0021 
0022 public:
0023     explicit QtCalendarProvider(QObject *parent, CalendarSystem::System calendarSystem);
0024     ~QtCalendarProvider() override;
0025 
0026     QCalendar::YearMonthDay fromGregorian(const QDate &date) const override;
0027     CalendarEvents::CalendarEventsPlugin::SubLabel subLabels(const QDate &date) const override;
0028 
0029 private:
0030     const std::unique_ptr<class QtCalendarProviderPrivate> d;
0031 };