KCal::Event* IncidenceConverter::convertFromAppointment( ngwt__Appointment* appointment ) { kDebug() <<"IncidenceConverter::convertFromAppointment()"; if ( !appointment ) return 0; KCal::Event *event = new KCal::Event(); if ( !convertFromCalendarItem( appointment, event ) ) { delete event; return 0; } if ( appointment->allDayEvent && (*appointment->allDayEvent) ) { event->setAllDay( true ); if ( appointment->startDay != 0 ) event->setDtStart( stringToKDateTime( appointment->startDay ).addDays( 1 ) ); if ( appointment->endDay != 0 ) //TODO: Use KDateTime::fromString()? event->setDtEnd( stringToKDateTime( appointment->endDay) ); kDebug() <<" all day event."; } else { event->setAllDay( false ); if ( appointment->startDate != 0 ) { event->setDtStart( charToKDateTime( appointment->startDate, mTimeSpec ) ); } if ( appointment->endDate != 0 ) { event->setDtEnd( charToKDateTime( appointment->endDate, mTimeSpec ) ); } } kDebug() <<"start date:" << event->dtStart(); kDebug() <<"end date:" << event->dtEnd(); if ( appointment->alarm ) { KCal::Alarm *alarm = event->newAlarm(); alarm->setStartOffset( appointment->alarm->__item * -1 ); alarm->setEnabled( appointment->alarm->enabled ); } if ( appointment->place ) event->setLocation( stringToQString( appointment->place ) ); if ( appointment->acceptLevel ) { if ( *appointment->acceptLevel == Tentative ) event->setTransparency( KCal::Event::Transparent ); else event->setTransparency( KCal::Event::Opaque ); } return event; }
KCal::Todo *IncidenceConverter::convertFromTask(ngwt__Task *task) { if(!task) return 0; KCal::Todo *todo = new KCal::Todo(); if(!convertFromCalendarItem(task, todo)) { delete todo; return 0; } if(task->startDate) { todo->setHasStartDate(true); todo->setDtStart(stringToQDateTime(task->startDate)); } if(task->dueDate) { todo->setHasDueDate(true); todo->setDtDue(stringToQDateTime(task->dueDate)); } if(task->taskPriority) { QString priority = stringToQString(task->taskPriority); // FIXME: Store priority string somewhere int p = priority.toInt(); if(p == 0) p = 3; todo->setPriority(p); } if(task->completed) todo->setCompleted(*task->completed); todo->setLocation(i18n("Novell GroupWise does not support locations for to-dos.")); return todo; }
KCal::Journal* IncidenceConverter::convertFromNote( ngwt__Note* note) { kDebug(); if ( !note ) return 0; KCal::Journal *journal = new KCal::Journal(); if ( !convertFromCalendarItem( note, journal ) ) { kDebug() << "Couldn't convert Note to Journal!"; delete journal; return 0; } if ( note->startDate ) { kDebug() << "Journal start date is: " << note->startDate->c_str(); journal->setDtStart( stringToKDateTime( note->startDate, mTimeSpec ) ); } return journal; }