Mailcommon
10 #include "mailcommon_export.h"
12 #include <Akonadi/Attribute>
13 #include <Akonadi/Collection>
21 ExpireCollectionAttribute();
28 enum ExpireUnits { ExpireNever = 0, ExpireDays = 1, ExpireWeeks = 2, ExpireMonths = 3, ExpireMaxUnits = 4 };
30 enum ExpireAction { ExpireDelete = 0, ExpireMove = 1 };
32 [[nodiscard]]
QByteArray type()
const override;
33 ExpireCollectionAttribute *clone()
const override;
34 [[nodiscard]]
QByteArray serialized()
const override;
35 void deserialize(
const QByteArray &data)
override;
37 void daysToExpire(
int &unreadDays,
int &readDays)
const;
42 void setAutoExpire(
bool enabled);
47 [[nodiscard]]
bool isAutoExpire()
const;
54 void setUnreadExpireAge(
int age);
60 void setUnreadExpireUnits(ExpireUnits units);
67 void setReadExpireAge(
int age);
73 void setReadExpireUnits(ExpireUnits units);
79 [[nodiscard]]
int unreadExpireAge()
const;
85 [[nodiscard]]
int readExpireAge()
const;
90 [[nodiscard]] ExpireAction expireAction()
const;
91 void setExpireAction(ExpireAction a);
103 [[nodiscard]] ExpireUnits unreadExpireUnits()
const;
109 [[nodiscard]] ExpireUnits readExpireUnits()
const;
111 bool operator==(
const ExpireCollectionAttribute &other)
const;
112 [[nodiscard]]
bool expireMessagesWithValidDate()
const;
113 void setExpireMessagesWithValidDate(
bool expireMessagesWithValidDate);
116 static MAILCOMMON_NO_EXPORT
int daysToExpire(
int number, ExpireCollectionAttribute::ExpireUnits units);
117 bool mExpireMessages =
false;
118 int mUnreadExpireAge = 28;
119 int mReadExpireAge = 14;
120 ExpireCollectionAttribute::ExpireUnits mUnreadExpireUnits = ExpireNever;
121 ExpireCollectionAttribute::ExpireUnits mReadExpireUnits = ExpireNever;
122 ExpireCollectionAttribute::ExpireAction mExpireAction = ExpireDelete;
124 bool mExpireMessagesWithValidDate =
false;
QDataStream & operator<<(QDataStream &out, const KDateTime &dateTime)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Tue Dec 5 2023 03:59:10 by
doxygen 1.8.17 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.