summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-02-05 12:49:40 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2016-02-05 12:49:40 +0100
commitc2c528f9a7c0e5af840d7c142b47c9436bed4eac (patch)
treedecc50906704ab06e453ee9a431baecfb4e3b6a0 /examples
parentc8fbb5710737087b0cb5679d6211252dcba4ccce (diff)
downloadsink-c2c528f9a7c0e5af840d7c142b47c9436bed4eac.tar.gz
sink-c2c528f9a7c0e5af840d7c142b47c9436bed4eac.zip
Fixed mail appending.
Diffstat (limited to 'examples')
-rw-r--r--examples/maildirresource/libmaildir/maildir.cpp5
-rw-r--r--examples/maildirresource/maildirresource.cpp13
2 files changed, 16 insertions, 2 deletions
diff --git a/examples/maildirresource/libmaildir/maildir.cpp b/examples/maildirresource/libmaildir/maildir.cpp
index daf2e8f..0057b26 100644
--- a/examples/maildirresource/libmaildir/maildir.cpp
+++ b/examples/maildirresource/libmaildir/maildir.cpp
@@ -642,9 +642,14 @@ QString Maildir::addEntry(const QByteArray& data)
642 642
643 QFile f(key); 643 QFile f(key);
644 bool result = f.open(QIODevice::WriteOnly); 644 bool result = f.open(QIODevice::WriteOnly);
645 if (!result) {
646 qWarning() << f.errorString();
647 qWarning() << "Cannot write to mail file: " << key;
648 }
645 result = result & (f.write(data) != -1); 649 result = result & (f.write(data) != -1);
646 f.close(); 650 f.close();
647 if (!result) { 651 if (!result) {
652 qWarning() << "Cannot write to mail file: " << key;
648 // d->lastError = i18n("Cannot write to mail file %1." , key); 653 // d->lastError = i18n("Cannot write to mail file %1." , key);
649 return QString(); 654 return QString();
650 } 655 }
diff --git a/examples/maildirresource/maildirresource.cpp b/examples/maildirresource/maildirresource.cpp
index 77ce11c..87623ca 100644
--- a/examples/maildirresource/maildirresource.cpp
+++ b/examples/maildirresource/maildirresource.cpp
@@ -271,10 +271,19 @@ KAsync::Job<void> MaildirResource::replay(Sink::Storage &synchronizationStore, c
271 } 271 }
272 const auto parentFolderPath = parentFolderRemoteId; 272 const auto parentFolderPath = parentFolderRemoteId;
273 KPIM::Maildir maildir(parentFolderPath, false); 273 KPIM::Maildir maildir(parentFolderPath, false);
274 if (!maildir.isValid(true)) {
275 return KAsync::error<void>(1, "Invalid folder " + parentFolderPath);
276 }
274 //FIXME assemble the MIME message 277 //FIXME assemble the MIME message
278 Trace() << "Creating a new mail.";
275 const auto remoteId = maildir.addEntry("foobar"); 279 const auto remoteId = maildir.addEntry("foobar");
276 Trace() << "Creating a new mail: " << remoteId; 280 if (remoteId.isEmpty()) {
277 recordRemoteId(ENTITY_TYPE_MAIL, mail.identifier(), remoteId.toUtf8(), synchronizationTransaction); 281 Warning() << "Failed to create mail: " << remoteId;
282 return KAsync::error<void>(1, "Failed to create mail.");
283 } else {
284 Trace() << "Mail created: " << remoteId;
285 recordRemoteId(ENTITY_TYPE_MAIL, mail.identifier(), remoteId.toUtf8(), synchronizationTransaction);
286 }
278 } else if (operation == Sink::Operation_Removal) { 287 } else if (operation == Sink::Operation_Removal) {
279 const auto uid = Sink::Storage::uidFromKey(key); 288 const auto uid = Sink::Storage::uidFromKey(key);
280 const auto remoteId = resolveLocalId(ENTITY_TYPE_MAIL, uid, synchronizationTransaction); 289 const auto remoteId = resolveLocalId(ENTITY_TYPE_MAIL, uid, synchronizationTransaction);