summaryrefslogtreecommitdiffstats
path: root/examples/mailtransportresource/mailtransportresource.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/mailtransportresource/mailtransportresource.cpp')
-rw-r--r--examples/mailtransportresource/mailtransportresource.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/examples/mailtransportresource/mailtransportresource.cpp b/examples/mailtransportresource/mailtransportresource.cpp
index 8e5b22e..8a4ef92 100644
--- a/examples/mailtransportresource/mailtransportresource.cpp
+++ b/examples/mailtransportresource/mailtransportresource.cpp
@@ -66,18 +66,21 @@ public:
66 return targetResource.identifier(); 66 return targetResource.identifier();
67 } 67 }
68 68
69 void modifiedEntity(const Sink::ApplicationDomain::ApplicationDomainType &oldEntity, Sink::ApplicationDomain::ApplicationDomainType &newEntity) Q_DECL_OVERRIDE 69 virtual Result processModification(Type type, const ApplicationDomain::ApplicationDomainType &current, ApplicationDomain::ApplicationDomainType &diff) Q_DECL_OVERRIDE
70 { 70 {
71 using namespace Sink::ApplicationDomain; 71 if (type == Preprocessor::Modification) {
72 auto mail = newEntity.cast<Mail>(); 72 using namespace Sink::ApplicationDomain;
73 if (mail.changedProperties().contains(Mail::Trash::name)) { 73 if (diff.changedProperties().contains(Mail::Trash::name)) {
74 //Move back to regular resource 74 //Move back to regular resource
75 newEntity.setResource(getTargetResource()); 75 diff.setResource(getTargetResource());
76 } else if (mail.changedProperties().contains(Mail::Draft::name)) { 76 return {MoveToResource};
77 //Move back to regular resource 77 } else if (diff.changedProperties().contains(Mail::Draft::name)) {
78 newEntity.setResource(getTargetResource()); 78 //Move back to regular resource
79 diff.setResource(getTargetResource());
80 return {MoveToResource};
81 }
79 } 82 }
80 //TODO this will only copy it back, but not yet move 83 return {NoAction};
81 } 84 }
82}; 85};
83 86