File indexing completed on 2025-02-02 05:08:40
0001 /* 0002 SPDX-FileCopyrightText: 2014-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <Akonadi/Item> 0010 #include <QDate> 0011 0012 class KConfigGroup; 0013 namespace FollowUpReminder 0014 { 0015 /** Follow up reminder information. */ 0016 class FollowUpReminderInfo 0017 { 0018 public: 0019 FollowUpReminderInfo(); 0020 explicit FollowUpReminderInfo(const KConfigGroup &config); 0021 explicit FollowUpReminderInfo(const FollowUpReminderInfo &info); 0022 0023 // Can be invalid. 0024 [[nodiscard]] Akonadi::Item::Id originalMessageItemId() const; 0025 void setOriginalMessageItemId(Akonadi::Item::Id value); 0026 0027 [[nodiscard]] Akonadi::Item::Id todoId() const; 0028 void setTodoId(Akonadi::Item::Id value); 0029 0030 [[nodiscard]] bool isValid() const; 0031 0032 [[nodiscard]] QString messageId() const; 0033 void setMessageId(const QString &messageId); 0034 0035 void setTo(const QString &to); 0036 [[nodiscard]] QString to() const; 0037 0038 [[nodiscard]] QDate followUpReminderDate() const; 0039 void setFollowUpReminderDate(QDate followUpReminderDate); 0040 0041 void writeConfig(KConfigGroup &config, qint32 identifier); 0042 0043 [[nodiscard]] QString subject() const; 0044 void setSubject(const QString &subject); 0045 0046 [[nodiscard]] bool operator==(const FollowUpReminderInfo &other) const; 0047 0048 [[nodiscard]] bool answerWasReceived() const; 0049 void setAnswerWasReceived(bool answerWasReceived); 0050 0051 [[nodiscard]] Akonadi::Item::Id answerMessageItemId() const; 0052 void setAnswerMessageItemId(Akonadi::Item::Id answerMessageItemId); 0053 0054 [[nodiscard]] qint32 uniqueIdentifier() const; 0055 void setUniqueIdentifier(qint32 uniqueIdentifier); 0056 0057 private: 0058 void readConfig(const KConfigGroup &config); 0059 Akonadi::Item::Id mOriginalMessageItemId = -1; 0060 Akonadi::Item::Id mAnswerMessageItemId = -1; 0061 Akonadi::Item::Id mTodoId = -1; 0062 QString mMessageId; 0063 QDate mFollowUpReminderDate; 0064 QString mTo; 0065 QString mSubject; 0066 qint32 mUniqueIdentifier = -1; 0067 bool mAnswerWasReceived = false; 0068 }; 0069 } 0070 0071 QDebug operator<<(QDebug debug, const FollowUpReminder::FollowUpReminderInfo &info);