summaryrefslogtreecommitdiffstats
path: root/common/specialpurposepreprocessor.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-03-15 00:13:48 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-03-15 00:13:48 +0100
commit6f032b73c42ac4133e1edecc2ef436645ad7ba69 (patch)
tree6ee3ee9163fffc017d3c46a58aabdd145c7002cf /common/specialpurposepreprocessor.cpp
parenteebb53ec4752f9cb1d2fb81a3353246844cdbd49 (diff)
downloadsink-6f032b73c42ac4133e1edecc2ef436645ad7ba69.tar.gz
sink-6f032b73c42ac4133e1edecc2ef436645ad7ba69.zip
Fixed specialpurpose preprocessor
Set the flags on new mail as well
Diffstat (limited to 'common/specialpurposepreprocessor.cpp')
-rw-r--r--common/specialpurposepreprocessor.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/common/specialpurposepreprocessor.cpp b/common/specialpurposepreprocessor.cpp
index be5fa50..cd3a4de 100644
--- a/common/specialpurposepreprocessor.cpp
+++ b/common/specialpurposepreprocessor.cpp
@@ -104,7 +104,19 @@ void SpecialPurposeProcessor::moveToFolder(Sink::ApplicationDomain::ApplicationD
104 104
105void SpecialPurposeProcessor::newEntity(Sink::ApplicationDomain::ApplicationDomainType &newEntity) 105void SpecialPurposeProcessor::newEntity(Sink::ApplicationDomain::ApplicationDomainType &newEntity)
106{ 106{
107 moveToFolder(newEntity); 107 auto mail = newEntity.cast<ApplicationDomain::Mail>();
108 const auto folder = mail.getFolder();
109 if (folder.isEmpty()) {
110 moveToFolder(newEntity);
111 } else {
112 bool isDraft = findFolder(ApplicationDomain::SpecialPurpose::Mail::drafts) == folder;
113 bool isSent = findFolder(ApplicationDomain::SpecialPurpose::Mail::sent) == folder;
114 bool isTrash = findFolder(ApplicationDomain::SpecialPurpose::Mail::trash) == folder;
115 mail.setDraft(isDraft);
116 mail.setTrash(isTrash);
117 mail.setSent(isSent);
118 }
119
108} 120}
109 121
110void SpecialPurposeProcessor::modifiedEntity(const Sink::ApplicationDomain::ApplicationDomainType &oldEntity, Sink::ApplicationDomain::ApplicationDomainType &newEntity) 122void SpecialPurposeProcessor::modifiedEntity(const Sink::ApplicationDomain::ApplicationDomainType &oldEntity, Sink::ApplicationDomain::ApplicationDomainType &newEntity)
@@ -118,8 +130,8 @@ void SpecialPurposeProcessor::modifiedEntity(const Sink::ApplicationDomain::Appl
118 bool isSent = findFolder(ApplicationDomain::SpecialPurpose::Mail::sent) == folder; 130 bool isSent = findFolder(ApplicationDomain::SpecialPurpose::Mail::sent) == folder;
119 bool isTrash = findFolder(ApplicationDomain::SpecialPurpose::Mail::trash) == folder; 131 bool isTrash = findFolder(ApplicationDomain::SpecialPurpose::Mail::trash) == folder;
120 mail.setDraft(isDraft); 132 mail.setDraft(isDraft);
121 mail.setTrash(isSent); 133 mail.setTrash(isTrash);
122 mail.setSent(isTrash); 134 mail.setSent(isSent);
123 } else { 135 } else {
124 moveToFolder(newEntity); 136 moveToFolder(newEntity);
125 } 137 }