CCalEntry::TType OrganizerItemTypeTransform::entryTypeL(const QOrganizerItem &item) { QString itemType = item.type(); CCalEntry::TType entryType(CCalEntry::EAppt); if (itemType == QOrganizerItemType::TypeTodo || itemType == QOrganizerItemType::TypeTodoOccurrence) entryType = CCalEntry::ETodo; else if (itemType == QOrganizerItemType::TypeEvent || itemType == QOrganizerItemType::TypeEventOccurrence) entryType = CCalEntry::EAppt; #ifdef AGENDA_EXT_SUPPORT else if (QOrganizerItemType::TypeNote == itemType) { entryType = CCalEntry::ENote; } #endif else User::Leave(KErrUnknown); // unknown type // TODO: CCalEntry::EEvent??? // TODO: CCalEntry::EReminder // TODO: CCalEntry::EAnniv if itemType=event & category=anniversary return entryType; }
void OrganizerJournalTimeTransform::transformToEntryL(const QOrganizerItem& item, CCalEntry* entry) { if (item.type() == QOrganizerItemType::TypeJournal) { QOrganizerJournalTime range = item.detail<QOrganizerJournalTime>(); if (!range.isEmpty()) entry->SetDTStampL(toTCalTimeL(range.entryDateTime())); // TODO: is DTStamp correct? } }
void OrganizerTodoTimeTransform::transformToEntryL(const QOrganizerItem& item, CCalEntry* entry) { if(item.type() == QOrganizerItemType::TypeTodo || item.type() == QOrganizerItemType::TypeTodoOccurrence) { QOrganizerTodoTime range = item.detail<QOrganizerTodoTime>(); // Nothing to do? if (range.isEmpty()) return; // On some platforms symbian calendar server does not leave // when start date is more than due date. So make the check here. if (range.startDateTime().isValid() && range.dueDateTime().isValid()) { if (range.startDateTime() > range.dueDateTime()) User::Leave(KErrArgument); } entry->SetStartAndEndTimeL(toTCalTimeL(range.startDateTime()), toTCalTimeL(range.dueDateTime())); } }