8#include "filteractionsendfakedisposition.h"
10#include <Akonadi/MDNStateAttribute>
11#include <KLocalizedString>
17static const KMime::MDN::DispositionType mdns[] = {
18 KMime::MDN::Displayed,
20 KMime::MDN::Dispatched,
21 KMime::MDN::Processed,
25static const int numMDNs =
sizeof(mdns) /
sizeof(*mdns);
27FilterActionSendFakeDisposition::FilterActionSendFakeDisposition(
QObject *parent)
32 mParameterList.append(
QString());
33 mParameterList.append(
i18nc(
"MDN type",
"Ignore"));
34 mParameterList.append(
i18nc(
"MDN type",
"Displayed"));
35 mParameterList.append(
i18nc(
"MDN type",
"Deleted"));
36 mParameterList.append(
i18nc(
"MDN type",
"Dispatched"));
37 mParameterList.append(
i18nc(
"MDN type",
"Processed"));
38 mParameterList.append(
i18nc(
"MDN type",
"Denied"));
39 mParameterList.append(
i18nc(
"MDN type",
"Failed"));
41 mParameter = mParameterList.at(0);
44FilterAction *FilterActionSendFakeDisposition::newAction()
46 return new FilterActionSendFakeDisposition;
49bool FilterActionSendFakeDisposition::isEmpty()
const
51 const int index = mParameterList.indexOf(mParameter);
57 const int index = mParameterList.indexOf(mParameter);
79void FilterActionSendFakeDisposition::argsFromString(
const QString &argsStr)
81 if (argsStr.
length() == 1) {
82 if (argsStr[0] == QLatin1Char(
'I')) {
83 mParameter = mParameterList.at(1);
87 for (
int i = 0; i < numMDNs; ++i) {
88 if (
char(mdns[i]) == argsStr[0]) {
89 mParameter = mParameterList.at(i + 2);
95 mParameter = mParameterList.at(0);
98QString FilterActionSendFakeDisposition::argsAsString()
const
100 const int index = mParameterList.indexOf(mParameter);
105 return {QChar(index < 2 ?
'I' :
char(mdns[index - 2]))};
108QString FilterActionSendFakeDisposition::displayString()
const
110 return label() + QLatin1StringView(
" \"") + mParameter + QLatin1StringView(
"\"");
113QString FilterActionSendFakeDisposition::informationAboutNotValidAction()
const
115 return i18n(
"Fake type undefined.");
118#include "moc_filteractionsendfakedisposition.cpp"
bool hasAttribute() const
const T * attribute() const
Abstract base class for filter actions with a fixed set of string parameters.
Abstract base class for mail filter actions.
static void sendMDN(const Akonadi::Item &item, KMime::MDN::DispositionType d, const QList< KMime::MDN::DispositionModifier > &m=QList< KMime::MDN::DispositionModifier >())
Automates the sending of MDNs from filter actions.
ReturnCode
Describes the possible return codes of filter processing:
@ ErrorButGoOn
A non-critical error occurred.
@ GoOn
Go on with applying filter actions.
QString label() const
Returns i18n'd label, ie.
A helper class for the filtering process.
Akonadi::Item & item()
Returns the item of the context.
void setNeedsFlagStore()
Marks that the item's flags has been changed and needs to be written back.
RequiredPart
Possible required parts.
@ CompleteMessage
Whole message.
QString i18nc(const char *context, const char *text, const TYPE &arg...)
QString i18n(const char *text, const TYPE &arg...)
qsizetype length() const const