8#include "collectiontypeutil.h"
9#include <KLocalizedString>
12CollectionTypeUtil::CollectionTypeUtil() =
default;
14CollectionTypeUtil::~CollectionTypeUtil() =
default;
16QByteArray CollectionTypeUtil::kolabFolderType()
18 return "/shared/vendor/kolab/folder-type";
21QByteArray CollectionTypeUtil::kolabIncidencesFor()
23 return "/shared/vendor/kolab/incidences-for";
26QByteArray CollectionTypeUtil::kolabSharedSeen()
28 return "/shared/vendor/cmu/cyrus-imapd/sharedseen";
31QString CollectionTypeUtil::folderContentDescription(CollectionTypeUtil::FolderContentsType type)
34 case CollectionTypeUtil::ContentsTypeMail:
35 return i18nc(
"type of folder content",
"Mail");
36 case CollectionTypeUtil::ContentsTypeCalendar:
37 return i18nc(
"type of folder content",
"Calendar");
38 case CollectionTypeUtil::ContentsTypeContact:
39 return i18nc(
"type of folder content",
"Contacts");
40 case CollectionTypeUtil::ContentsTypeNote:
41 return i18nc(
"type of folder content",
"Notes");
42 case CollectionTypeUtil::ContentsTypeTask:
43 return i18nc(
"type of folder content",
"Tasks");
44 case CollectionTypeUtil::ContentsTypeJournal:
45 return i18nc(
"type of folder content",
"Journal");
46 case CollectionTypeUtil::ContentsTypeConfiguration:
47 return i18nc(
"type of folder content",
"Configuration");
48 case CollectionTypeUtil::ContentsTypeFreebusy:
49 return i18nc(
"type of folder content",
"Freebusy");
50 case CollectionTypeUtil::ContentsTypeFile:
51 return i18nc(
"type of folder content",
"Files");
53 return i18nc(
"type of folder content",
"Unknown");
57QString CollectionTypeUtil::incidencesForToString(CollectionTypeUtil::IncidencesFor type)
60 case CollectionTypeUtil::IncForNobody:
61 return QStringLiteral(
"nobody");
62 case CollectionTypeUtil::IncForAdmins:
63 return QStringLiteral(
"admins");
64 case CollectionTypeUtil::IncForReaders:
65 return QStringLiteral(
"readers");
71CollectionTypeUtil::IncidencesFor CollectionTypeUtil::incidencesForFromString(
const QString &
string)
74 return CollectionTypeUtil::IncForNobody;
76 return CollectionTypeUtil::IncForAdmins;
78 return CollectionTypeUtil::IncForReaders;
81 return CollectionTypeUtil::IncForAdmins;
84CollectionTypeUtil::FolderContentsType CollectionTypeUtil::typeFromKolabName(
const QByteArray &name)
86 if (name ==
"task" || name ==
"task.default") {
87 return CollectionTypeUtil::ContentsTypeTask;
89 if (name ==
"event" || name ==
"event.default") {
90 return CollectionTypeUtil::ContentsTypeCalendar;
92 if (name ==
"contact" || name ==
"contact.default") {
93 return CollectionTypeUtil::ContentsTypeContact;
95 if (name ==
"note" || name ==
"note.default") {
96 return CollectionTypeUtil::ContentsTypeNote;
98 if (name ==
"journal" || name ==
"journal.default") {
99 return CollectionTypeUtil::ContentsTypeJournal;
101 if (name ==
"configuration" || name ==
"configuration.default") {
102 return CollectionTypeUtil::ContentsTypeConfiguration;
104 if (name ==
"freebusy" || name ==
"freebusy.default") {
105 return CollectionTypeUtil::ContentsTypeFreebusy;
107 if (name ==
"file" || name ==
"file.default") {
108 return CollectionTypeUtil::ContentsTypeFile;
111 return CollectionTypeUtil::ContentsTypeMail;
114QByteArray CollectionTypeUtil::kolabNameFromType(CollectionTypeUtil::FolderContentsType type)
117 case CollectionTypeUtil::ContentsTypeCalendar:
119 case CollectionTypeUtil::ContentsTypeContact:
121 case CollectionTypeUtil::ContentsTypeNote:
123 case CollectionTypeUtil::ContentsTypeTask:
125 case CollectionTypeUtil::ContentsTypeJournal:
127 case CollectionTypeUtil::ContentsTypeConfiguration:
128 return "configuration";
129 case CollectionTypeUtil::ContentsTypeFreebusy:
131 case CollectionTypeUtil::ContentsTypeFile:
138CollectionTypeUtil::FolderContentsType CollectionTypeUtil::contentsTypeFromString(
const QString &type)
140 if (type ==
i18nc(
"type of folder content",
"Mail")) {
141 return CollectionTypeUtil::ContentsTypeMail;
143 if (type ==
i18nc(
"type of folder content",
"Calendar")) {
144 return CollectionTypeUtil::ContentsTypeCalendar;
146 if (type ==
i18nc(
"type of folder content",
"Contacts")) {
147 return CollectionTypeUtil::ContentsTypeContact;
149 if (type ==
i18nc(
"type of folder content",
"Notes")) {
150 return CollectionTypeUtil::ContentsTypeNote;
152 if (type ==
i18nc(
"type of folder content",
"Tasks")) {
153 return CollectionTypeUtil::ContentsTypeTask;
155 if (type ==
i18nc(
"type of folder content",
"Journal")) {
156 return CollectionTypeUtil::ContentsTypeJournal;
158 if (type ==
i18nc(
"type of folder content",
"Configuration")) {
159 return CollectionTypeUtil::ContentsTypeConfiguration;
161 if (type ==
i18nc(
"type of folder content",
"Freebusy")) {
162 return CollectionTypeUtil::ContentsTypeFreebusy;
164 if (type ==
i18nc(
"type of folder content",
"Files")) {
165 return CollectionTypeUtil::ContentsTypeFile;
168 return CollectionTypeUtil::ContentsTypeMail;
173 if (type ==
"task" || type ==
"task.default") {
174 return i18nc(
"type of folder content",
"Tasks");
176 if (type ==
"event" || type ==
"event.default") {
177 return i18nc(
"type of folder content",
"Calendar");
179 if (type ==
"contact" || type ==
"contact.default") {
180 return i18nc(
"type of folder content",
"Contacts");
182 if (type ==
"note" || type ==
"note.default") {
183 return i18nc(
"type of folder content",
"Notes");
185 if (type ==
"journal" || type ==
"journal.default") {
186 return i18nc(
"type of folder content",
"Journal");
188 if (type ==
"configuration" || type ==
"configuration.default") {
189 return i18nc(
"type of folder content",
"Configuration");
191 if (type ==
"freebusy" || type ==
"freebusy.default") {
192 return i18nc(
"type of folder content",
"Freebusy");
194 if (type ==
"file" || type ==
"file.default") {
195 return i18nc(
"type of folder content",
"Files");
198 return i18nc(
"type of folder content",
"Mail");
201QString CollectionTypeUtil::iconNameFromContentsType(CollectionTypeUtil::FolderContentsType type)
205 case CollectionTypeUtil::ContentsTypeCalendar:
206 iconName = QStringLiteral(
"view-calendar");
208 case CollectionTypeUtil::ContentsTypeContact:
209 iconName = QStringLiteral(
"view-pim-contacts");
211 case CollectionTypeUtil::ContentsTypeNote:
212 iconName = QStringLiteral(
"view-pim-notes");
214 case CollectionTypeUtil::ContentsTypeTask:
215 iconName = QStringLiteral(
"view-pim-tasks");
217 case CollectionTypeUtil::ContentsTypeJournal:
218 iconName = QStringLiteral(
"view-pim-journal");
220 case CollectionTypeUtil::ContentsTypeConfiguration:
221 iconName = QStringLiteral(
"configure");
223 case CollectionTypeUtil::ContentsTypeFreebusy:
224 iconName = QStringLiteral(
"view-calendar-agenda");
226 case CollectionTypeUtil::ContentsTypeFile:
227 iconName = QStringLiteral(
"document-open");
229 case CollectionTypeUtil::ContentsTypeMail:
QString i18nc(const char *context, const char *text, const TYPE &arg...)