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;
}