Incidence *ICalFormat::fromString(const QString &text) { CalendarLocal cal(mTimeZoneId); fromString(&cal, text); Incidence *ical = 0; Event::List elist = cal.events(); if(elist.count() > 0) { ical = elist.first(); } else { Todo::List tlist = cal.todos(); if(tlist.count() > 0) { ical = tlist.first(); } else { Journal::List jlist = cal.journals(); if(jlist.count() > 0) { ical = jlist.first(); } } } return ical ? ical->clone() : 0; }
void KOTodoEditor::loadTemplate(/*const*/ CalendarLocal &cal) { Todo::List todos = cal.todos(); if(todos.count() == 0) { KMessageBox::error(this, i18n("Template does not contain a valid to-do.")); } else { readTodo(todos.first(), 0); } }
Todo::Ptr DndFactory::createDropTodo( const QMimeData *mimeData ) { //kDebug(); Todo::Ptr todo; MemoryCalendar::Ptr calendar( createDropCalendar( mimeData ) ); if ( calendar ) { Todo::List todos = calendar->todos(); if ( !todos.isEmpty() ) { todo = Todo::Ptr( new Todo( *todos.first() ) ); } } return todo; }
Todo *DndFactory::createDropTodo( const QMimeData *md ) { kDebug(); Todo *todo = 0; Calendar *cal = createDropCalendar( md ); if ( cal ) { Todo::List todos = cal->todos(); if ( !todos.isEmpty() ) { todo = new Todo( *todos.first() ); } delete cal; } return todo; }