void TagChangeHelper::recordNewUid(qint64 newUid, Akonadi::Tag tag) { Q_ASSERT(newUid > 0); Q_ASSERT(tag.isValid()); const QByteArray remoteId = QByteArray::number(newUid); qCDebug(KOLABRESOURCE_LOG) << "Setting remote ID to " << remoteId << " on tag with local id: " << tag.id(); //Make sure we only update the id and send nothing else Akonadi::Tag updateTag; updateTag.setId(tag.id()); updateTag.setRemoteId(remoteId); Akonadi::TagModifyJob *modJob = new Akonadi::TagModifyJob(updateTag); connect(modJob, &KJob::result, this, &TagChangeHelper::onModifyDone); }
void TagChangeHelper::start(const Akonadi::Tag &tag, const KMime::Message::Ptr &message, KIMAP::Session *session) { Q_ASSERT(tag.isValid()); const QString mailBox = mTask->mailBoxForCollection(mTask->relationCollection()); const qint64 oldUid = tag.remoteId().toLongLong(); qCDebug(KOLABRESOURCE_LOG) << mailBox << oldUid; const qint64 uidNext = -1; UpdateMessageJob *append = new UpdateMessageJob(message, session, tag.gid(), QSharedPointer<TagMerger>(new TagMerger), mailBox, uidNext, oldUid, this); connect(append, &KJob::result, this, &TagChangeHelper::onReplaceDone); append->setProperty("tag", QVariant::fromValue(tag)); append->start(); }