Changeset View
Changeset View
Standalone View
Standalone View
resources/kolab/kolabretrievecollectionstask.cpp
Show First 20 Lines • Show All 190 Lines • ▼ Show 20 Lines | KolabRetrieveCollectionsTask::KolabRetrieveCollectionsTask(ResourceStateInterface::Ptr resource, QObject* parent) | ||||
, cImapAcl("imapacl") | , cImapAcl("imapacl") | ||||
, cCollectionAnnotations("collectionannotations") | , cCollectionAnnotations("collectionannotations") | ||||
, cDefaultKeepLocalChanges(QSet<QByteArray>() << cContentMimeTypes << cAccessRights << cImapAcl << cCollectionAnnotations) | , cDefaultKeepLocalChanges(QSet<QByteArray>() << cContentMimeTypes << cAccessRights << cImapAcl << cCollectionAnnotations) | ||||
, cDefaultMimeTypes(QStringList() << Akonadi::Collection::mimeType() << QLatin1String("application/x-kolab-objects")) | , cDefaultMimeTypes(QStringList() << Akonadi::Collection::mimeType() << QLatin1String("application/x-kolab-objects")) | ||||
, cCollectionOnlyContentMimeTypes(QStringList() << Akonadi::Collection::mimeType()) | , cCollectionOnlyContentMimeTypes(QStringList() << Akonadi::Collection::mimeType()) | ||||
{ | { | ||||
mRequestedMetadata << "/shared/vendor/kolab/folder-type"; | mRequestedMetadata << "/shared/vendor/kolab/folder-type"; | ||||
mRequestedMetadata << "/private/vendor/kolab/folder-type"; | mRequestedMetadata << "/private/vendor/kolab/folder-type"; | ||||
mRequestedMetadata << "/shared" KOLAB_COLOR_ANNOTATION | |||||
<< "/private" KOLAB_COLOR_ANNOTATION; | |||||
} | } | ||||
KolabRetrieveCollectionsTask::~KolabRetrieveCollectionsTask() | KolabRetrieveCollectionsTask::~KolabRetrieveCollectionsTask() | ||||
{ | { | ||||
} | } | ||||
void KolabRetrieveCollectionsTask::doStart(KIMAP::Session *session) | void KolabRetrieveCollectionsTask::doStart(KIMAP::Session *session) | ||||
▲ Show 20 Lines • Show All 268 Lines • ▼ Show 20 Lines | Q_FOREACH(const QString &mailbox, metadataMap.keys()) { | ||||
const QMap<QByteArray, QByteArray> metadata = metadataMap.value(mailbox); | const QMap<QByteArray, QByteArray> metadata = metadataMap.value(mailbox); | ||||
if (mMailCollections.contains(mailbox)) { | if (mMailCollections.contains(mailbox)) { | ||||
Akonadi::Collection &collection = mMailCollections[mailbox]; | Akonadi::Collection &collection = mMailCollections[mailbox]; | ||||
collection.attribute<Akonadi::CollectionAnnotationsAttribute>(Akonadi::Collection::AddIfMissing)->setAnnotations(metadata); | collection.attribute<Akonadi::CollectionAnnotationsAttribute>(Akonadi::Collection::AddIfMissing)->setAnnotations(metadata); | ||||
const QByteArray type = KolabHelpers::getFolderTypeAnnotation(metadata); | const QByteArray type = KolabHelpers::getFolderTypeAnnotation(metadata); | ||||
const Kolab::FolderType folderType = KolabHelpers::folderTypeFromString(type); | const Kolab::FolderType folderType = KolabHelpers::folderTypeFromString(type); | ||||
// kDebug() << mailbox << metadata << type << folderType << KolabHelpers::getContentMimeTypes(folderType); | // kDebug() << mailbox << metadata << type << folderType << KolabHelpers::getContentMimeTypes(folderType); | ||||
collection.setContentMimeTypes(KolabHelpers::getContentMimeTypes(folderType)); | collection.setContentMimeTypes(KolabHelpers::getContentMimeTypes(folderType)); | ||||
collection.attribute<Akonadi::EntityDisplayAttribute>(Akonadi::Collection::AddIfMissing)->setBackgroundColor(KolabHelpers::getFolderColor(metadata)); | |||||
QSet<QByteArray> keepLocalChanges = collection.keepLocalChanges(); | QSet<QByteArray> keepLocalChanges = collection.keepLocalChanges(); | ||||
keepLocalChanges.remove(cContentMimeTypes); | keepLocalChanges.remove(cContentMimeTypes); | ||||
collection.setKeepLocalChanges(keepLocalChanges); | collection.setKeepLocalChanges(keepLocalChanges); | ||||
} | } | ||||
} | } | ||||
} | } | ||||
void KolabRetrieveCollectionsTask::onMetadataRetrieved(KJob *job) | void KolabRetrieveCollectionsTask::onMetadataRetrieved(KJob *job) | ||||
▲ Show 20 Lines • Show All 45 Lines • Show Last 20 Lines |