1 /* 2 SPDX-FileCopyrightText: 2014 Christian Mollekopf <mollekopf@kolabsys.com> 3 4 SPDX-License-Identifier: LGPL-2.0-or-later 5 */ 6 7 #pragma once 8 9 #include "pimkolab/kolabformat/formathelpers.h" //libkolab 10 #include "pimkolab/kolabformat/kolabdefinitions.h" //libkolab 11 #include <Akonadi/Item> 12 13 #define KOLAB_COLOR_ANNOTATION "/vendor/kolab/color" 14 15 class QColor; 16 17 class KolabHelpers 18 { 19 public: 20 static bool checkForErrors(const Akonadi::Item &affectedItem); 21 static Akonadi::Item translateFromImap(Kolab::FolderType folderType, const Akonadi::Item &item, bool &ok); 22 static Akonadi::Item::List translateToImap(const Akonadi::Item::List &items, bool &ok); 23 static Akonadi::Item translateToImap(const Akonadi::Item &item, bool &ok); 24 static Kolab::FolderType folderTypeFromString(const QByteArray &folderTypeName); 25 static QByteArray getFolderTypeAnnotation(const QMap<QByteArray, QByteArray> &annotations); 26 static void setFolderTypeAnnotation(QMap<QByteArray, QByteArray> &annotations, const QByteArray &value); 27 static QColor getFolderColor(const QMap<QByteArray, QByteArray> &annotations); 28 static void setFolderColor(QMap<QByteArray, QByteArray> &annotations, const QColor &color); 29 static Kolab::ObjectType getKolabTypeFromMimeType(const QString &type); 30 static QByteArray kolabTypeForMimeType(const QStringList &contentMimeTypes); 31 static QStringList getContentMimeTypes(Kolab::FolderType type); 32 static QString getIcon(Kolab::FolderType type); 33 // Returns true if the folder type shouldn't be ignored 34 static bool isHandledType(Kolab::FolderType type); 35 static QString getMimeType(Kolab::FolderType type); 36 static QList<QByteArray> ancestorChain(const Akonadi::Collection &col); 37 static QString createMemberUrl(const Akonadi::Item &item, const QString &user); 38 }; 39 40