diff options
Diffstat (limited to 'common/specialpurposepreprocessor.cpp')
-rw-r--r-- | common/specialpurposepreprocessor.cpp | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/common/specialpurposepreprocessor.cpp b/common/specialpurposepreprocessor.cpp index ce1a218..e73e4ce 100644 --- a/common/specialpurposepreprocessor.cpp +++ b/common/specialpurposepreprocessor.cpp | |||
@@ -59,7 +59,7 @@ QByteArray SpecialPurposeProcessor::ensureFolder(const QByteArray &specialPurpos | |||
59 | }); | 59 | }); |
60 | 60 | ||
61 | if (!mSpecialPurposeFolders.contains(specialPurpose)) { | 61 | if (!mSpecialPurposeFolders.contains(specialPurpose)) { |
62 | SinkTrace() << "Failed to find a drafts folder, creating a new one"; | 62 | SinkTrace() << "Failed to find a " << specialPurpose << " folder, creating a new one"; |
63 | auto folder = ApplicationDomain::Folder::create(mResourceInstanceIdentifier); | 63 | auto folder = ApplicationDomain::Folder::create(mResourceInstanceIdentifier); |
64 | folder.setSpecialPurpose(QByteArrayList() << specialPurpose); | 64 | folder.setSpecialPurpose(QByteArrayList() << specialPurpose); |
65 | folder.setName(sSpecialPurposeFolders.value(specialPurpose)); | 65 | folder.setName(sSpecialPurposeFolders.value(specialPurpose)); |
@@ -74,15 +74,21 @@ QByteArray SpecialPurposeProcessor::ensureFolder(const QByteArray &specialPurpos | |||
74 | 74 | ||
75 | void SpecialPurposeProcessor::moveToFolder(Sink::ApplicationDomain::ApplicationDomainType &newEntity) | 75 | void SpecialPurposeProcessor::moveToFolder(Sink::ApplicationDomain::ApplicationDomainType &newEntity) |
76 | { | 76 | { |
77 | if (newEntity.getProperty(ApplicationDomain::Mail::Trash::name).toBool()) { | 77 | using namespace Sink::ApplicationDomain; |
78 | newEntity.setProperty("folder", ensureFolder(ApplicationDomain::SpecialPurpose::Mail::trash)); | 78 | auto mail = newEntity.cast<Mail>(); |
79 | if (mail.getTrash()) { | ||
80 | auto f = ensureFolder(ApplicationDomain::SpecialPurpose::Mail::trash); | ||
81 | SinkTrace() << "Setting trash folder: " << f; | ||
82 | mail.setFolder(f); | ||
79 | return; | 83 | return; |
80 | } | 84 | } |
81 | if (newEntity.getProperty(ApplicationDomain::Mail::Draft::name).toBool()) { | 85 | if (mail.getDraft()) { |
82 | newEntity.setProperty("folder", ensureFolder(ApplicationDomain::SpecialPurpose::Mail::drafts)); | 86 | mail.setFolder(ensureFolder(ApplicationDomain::SpecialPurpose::Mail::drafts)); |
87 | return; | ||
83 | } | 88 | } |
84 | if (newEntity.getProperty(ApplicationDomain::Mail::Sent::name).toBool()) { | 89 | if (mail.getSent()) { |
85 | newEntity.setProperty("folder", ensureFolder(ApplicationDomain::SpecialPurpose::Mail::sent)); | 90 | mail.setFolder(ensureFolder(ApplicationDomain::SpecialPurpose::Mail::sent)); |
91 | return; | ||
86 | } | 92 | } |
87 | } | 93 | } |
88 | 94 | ||