-rw-r--r-- | libkcal/vcalformat.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/libkcal/vcalformat.cpp b/libkcal/vcalformat.cpp index 72a781a..1167e58 100644 --- a/libkcal/vcalformat.cpp +++ b/libkcal/vcalformat.cpp @@ -144,48 +144,67 @@ bool VCalFormat::fromString( Calendar *calendar, const QString &text ) VObjectIterator i; VObject *curvo; initPropIterator( &i, vcal ); // we only take the first object. TODO: parse all incidences. do { curvo = nextVObject( &i ); } while ( strcmp( vObjectName( curvo ), VCEventProp ) && strcmp( vObjectName( curvo ), VCTodoProp ) ); if ( strcmp( vObjectName( curvo ), VCEventProp ) == 0 ) { Event *event = VEventToEvent( curvo ); calendar->addEvent( event ); } else { kdDebug(5800) << "VCalFormat::fromString(): Unknown object type." << endl; deleteVObject( vcal ); return false; } deleteVObject( vcal ); return true; } +QString VCalFormat::eventToString( Event * event) +{ + if ( !event ) return QString::null; + VObject *vevent = eventToVEvent( event ); + char *buf = writeMemVObject( 0, 0, vevent ); + QString result( buf ); + cleanVObject( vevent ); + return result; +} +QString VCalFormat::todoToString( Todo * todo ) +{ + if ( !todo ) return QString::null; + VObject *vevent = eventToVTodo( todo ); + char *buf = writeMemVObject( 0, 0, vevent ); + QString result( buf ); + cleanVObject( vevent ); + return result; +} + QString VCalFormat::toString( Calendar *calendar ) { // TODO: Factor out VCalFormat::asString() VObject *vcal = newVObject(VCCalProp); addPropValue( vcal, VCProdIdProp, CalFormat::productId() ); QString tmpStr = mCalendar->getTimeZoneStr(); addPropValue( vcal, VCTimeZoneProp, tmpStr.local8Bit() ); addPropValue( vcal, VCVersionProp, _VCAL_VERSION ); // TODO: Use all data. QPtrList<Event> events = calendar->events(); Event *event = events.first(); if ( !event ) return QString::null; VObject *vevent = eventToVEvent( event ); addVObjectProp( vcal, vevent ); char *buf = writeMemVObject( 0, 0, vcal ); QString result( buf ); |