File indexing completed on 2024-05-12 17:08:53

0001 /*
0002     SPDX-FileCopyrightText: 2015 Martin Klapetek <mklapetek@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <QDateTime>
0010 #include <QObject>
0011 #include <QString>
0012 
0013 #include <CalendarEvents/CalendarEventsPlugin>
0014 
0015 class EventDataDecorator : public QObject
0016 {
0017     Q_OBJECT
0018     Q_PROPERTY(QDateTime startDateTime READ startDateTime NOTIFY eventDataChanged)
0019     Q_PROPERTY(QDateTime endDateTime READ endDateTime NOTIFY eventDataChanged)
0020     Q_PROPERTY(bool isAllDay READ isAllDay NOTIFY eventDataChanged)
0021     Q_PROPERTY(bool isMinor READ isMinor NOTIFY eventDataChanged)
0022     Q_PROPERTY(QString title READ title NOTIFY eventDataChanged)
0023     Q_PROPERTY(QString description READ description NOTIFY eventDataChanged)
0024     Q_PROPERTY(QString eventColor READ eventColor NOTIFY eventDataChanged)
0025     Q_PROPERTY(QString eventType READ eventType NOTIFY eventDataChanged)
0026 
0027 public:
0028     EventDataDecorator(const CalendarEvents::EventData &data, QObject *parent = nullptr);
0029 
0030     QDateTime startDateTime() const;
0031     QDateTime endDateTime() const;
0032     bool isAllDay() const;
0033     bool isMinor() const;
0034     QString title() const;
0035     QString description() const;
0036     QString eventType() const;
0037     QString eventColor() const;
0038 
0039 Q_SIGNALS:
0040     void eventDataChanged();
0041 
0042 private:
0043     CalendarEvents::EventData m_data;
0044 };