예제 #1
0
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;
}
예제 #2
0
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;
}
예제 #3
0
std::string* GWConverter::qDateTimeToString( const QDateTime &dt, const QString &timezone )
{
  return qDateTimeToString( KPimPrefs::localTimeToUtc( dt, timezone ) );
}