ngwt__Note *IncidenceConverter::convertToNote(KCal::Journal *journal) { if(!journal) return 0; ngwt__Note *note = soap_new_ngwt__Note(soap(), -1); note->startDate = 0; if(!convertToCalendarItem(journal, note)) { soap_dealloc(soap(), note); return 0; } if(journal->doesFloat()) { if(journal->dtStart().isValid()) note->startDate = qDateToString(journal->dtStart().date()); } else { if(journal->dtStart().isValid()) note->startDate = qDateTimeToString(journal->dtStart(), mTimezone); } if(!note->subject) note->subject = qStringToString(QString("NO SUBJECT")); return note; }
ngwt__Task *IncidenceConverter::convertToTask(KCal::Todo *todo) { if(!todo) return 0; ngwt__Task *task = soap_new_ngwt__Task(soap(), -1); task->startDate = 0; task->dueDate = 0; task->assignedDate = 0; task->taskPriority = 0; task->completed = 0; if(!convertToCalendarItem(todo, task)) { soap_dealloc(soap(), task); return 0; } if(todo->dtStart().isValid()) task->startDate = qDateTimeToString(todo->dtStart(), mTimezone); if(todo->hasDueDate()) { task->dueDate = qDateTimeToString(todo->dtDue()); } // FIXME: Restore custom priorities QString priority = QString::number(todo->priority()); task->taskPriority = qStringToString(priority); task->completed = (bool *)soap_malloc(soap(), 1); if(todo->isCompleted()) (*task->completed) = true; else (*task->completed) = false; return task; }
std::string* GWConverter::qDateTimeToString( const QDateTime &dt, const QString &timezone ) { return qDateTimeToString( KPimPrefs::localTimeToUtc( dt, timezone ) ); }