diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-02-05 12:49:40 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-02-05 12:49:40 +0100 |
commit | c2c528f9a7c0e5af840d7c142b47c9436bed4eac (patch) | |
tree | decc50906704ab06e453ee9a431baecfb4e3b6a0 /examples | |
parent | c8fbb5710737087b0cb5679d6211252dcba4ccce (diff) | |
download | sink-c2c528f9a7c0e5af840d7c142b47c9436bed4eac.tar.gz sink-c2c528f9a7c0e5af840d7c142b47c9436bed4eac.zip |
Fixed mail appending.
Diffstat (limited to 'examples')
-rw-r--r-- | examples/maildirresource/libmaildir/maildir.cpp | 5 | ||||
-rw-r--r-- | examples/maildirresource/maildirresource.cpp | 13 |
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); |