summaryrefslogtreecommitdiffabout
path: root/libkcal/vcalformat.cpp
Unidiff
Diffstat (limited to 'libkcal/vcalformat.cpp') (more/less context) (show whitespace changes)
-rw-r--r--libkcal/vcalformat.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/libkcal/vcalformat.cpp b/libkcal/vcalformat.cpp
index 076cd3f..9307f12 100644
--- a/libkcal/vcalformat.cpp
+++ b/libkcal/vcalformat.cpp
@@ -326,64 +326,66 @@ VObject *VCalFormat::eventToVTodo(const Todo *anEvent)
326 for ( QStringList::Iterator it = tmpStrList.begin(); 326 for ( QStringList::Iterator it = tmpStrList.begin();
327 it != tmpStrList.end(); 327 it != tmpStrList.end();
328 ++it ) { 328 ++it ) {
329 catStr = *it; 329 catStr = *it;
330 if (catStr[0] == ' ') 330 if (catStr[0] == ' ')
331 tmpStr += catStr.mid(1); 331 tmpStr += catStr.mid(1);
332 else 332 else
333 tmpStr += catStr; 333 tmpStr += catStr;
334 // this must be a ';' character as the vCalendar specification requires! 334 // this must be a ';' character as the vCalendar specification requires!
335 // vcc.y has been hacked to translate the ';' to a ',' when the vcal is 335 // vcc.y has been hacked to translate the ';' to a ',' when the vcal is
336 // read in. 336 // read in.
337 tmpStr += ";"; 337 tmpStr += ";";
338 } 338 }
339 if (!tmpStr.isEmpty()) { 339 if (!tmpStr.isEmpty()) {
340 tmpStr.truncate(tmpStr.length()-1); 340 tmpStr.truncate(tmpStr.length()-1);
341 addPropValue(vtodo, VCCategoriesProp, tmpStr.local8Bit()); 341 addPropValue(vtodo, VCCategoriesProp, tmpStr.local8Bit());
342 } 342 }
343 343
344 // alarm stuff 344 // alarm stuff
345 kdDebug(5800) << "vcalformat::eventToVTodo was called" << endl; 345 kdDebug(5800) << "vcalformat::eventToVTodo was called" << endl;
346 QPtrList<Alarm> alarms = anEvent->alarms(); 346 QPtrList<Alarm> alarms = anEvent->alarms();
347 Alarm* alarm; 347 Alarm* alarm;
348 for (alarm = alarms.first(); alarm; alarm = alarms.next()) { 348 for (alarm = alarms.first(); alarm; alarm = alarms.next()) {
349 if (alarm->enabled()) { 349 if (alarm->enabled()) {
350 VObject *a = addProp(vtodo, VCDAlarmProp); 350 VObject *a;
351 tmpStr = qDateTimeToISO(alarm->time()); 351 tmpStr = qDateTimeToISO(alarm->time());
352 addPropValue(a, VCRunTimeProp, tmpStr.local8Bit());
353 addPropValue(a, VCRepeatCountProp, "1");
354 addPropValue(a, VCDisplayStringProp, "beep!");
355 if (alarm->type() == Alarm::Audio) { 352 if (alarm->type() == Alarm::Audio) {
356 a = addProp(vtodo, VCAAlarmProp); 353 a = addProp(vtodo, VCAAlarmProp);
357 addPropValue(a, VCRunTimeProp, tmpStr.local8Bit()); 354 addPropValue(a, VCRunTimeProp, tmpStr.local8Bit());
358 addPropValue(a, VCRepeatCountProp, "1"); 355 addPropValue(a, VCRepeatCountProp, "1");
359 addPropValue(a, VCAudioContentProp, QFile::encodeName(alarm->audioFile())); 356 addPropValue(a, VCAudioContentProp, QFile::encodeName(alarm->audioFile()));
360 } 357 }
361 else if (alarm->type() == Alarm::Procedure) { 358 else if (alarm->type() == Alarm::Procedure) {
362 a = addProp(vtodo, VCPAlarmProp); 359 a = addProp(vtodo, VCPAlarmProp);
363 addPropValue(a, VCRunTimeProp, tmpStr.local8Bit()); 360 addPropValue(a, VCRunTimeProp, tmpStr.local8Bit());
364 addPropValue(a, VCRepeatCountProp, "1"); 361 addPropValue(a, VCRepeatCountProp, "1");
365 addPropValue(a, VCProcedureNameProp, QFile::encodeName(alarm->programFile())); 362 addPropValue(a, VCProcedureNameProp, QFile::encodeName(alarm->programFile()));
363 } else {
364 a = addProp(vtodo, VCDAlarmProp);
365 addPropValue(a, VCRunTimeProp, tmpStr.local8Bit());
366 addPropValue(a, VCRepeatCountProp, "1");
367 addPropValue(a, VCDisplayStringProp, "beep!");
366 } 368 }
367 } 369 }
368 } 370 }
369 371
370 if (anEvent->pilotId()) { 372 if (anEvent->pilotId()) {
371 // pilot sync stuff 373 // pilot sync stuff
372 tmpStr.sprintf("%i",anEvent->pilotId()); 374 tmpStr.sprintf("%i",anEvent->pilotId());
373 addPropValue(vtodo, XPilotIdProp, tmpStr.local8Bit()); 375 addPropValue(vtodo, XPilotIdProp, tmpStr.local8Bit());
374 tmpStr.sprintf("%i",anEvent->syncStatus()); 376 tmpStr.sprintf("%i",anEvent->syncStatus());
375 addPropValue(vtodo, XPilotStatusProp, tmpStr.local8Bit()); 377 addPropValue(vtodo, XPilotStatusProp, tmpStr.local8Bit());
376 } 378 }
377 379
378 return vtodo; 380 return vtodo;
379} 381}
380 382
381VObject* VCalFormat::eventToVEvent(const Event *anEvent) 383VObject* VCalFormat::eventToVEvent(const Event *anEvent)
382{ 384{
383 VObject *vevent; 385 VObject *vevent;
384 QString tmpStr; 386 QString tmpStr;
385 QStringList tmpStrList; 387 QStringList tmpStrList;
386 388
387 vevent = newVObject(VCEventProp); 389 vevent = newVObject(VCEventProp);
388 390
389 // start and end time 391 // start and end time
@@ -605,64 +607,67 @@ VObject* VCalFormat::eventToVEvent(const Event *anEvent)
605 tmpStr += ";"; 607 tmpStr += ";";
606 } 608 }
607 if (!tmpStr.isEmpty()) { 609 if (!tmpStr.isEmpty()) {
608 tmpStr.truncate(tmpStr.length()-1); 610 tmpStr.truncate(tmpStr.length()-1);
609 addPropValue(vevent, VCCategoriesProp, tmpStr.local8Bit()); 611 addPropValue(vevent, VCCategoriesProp, tmpStr.local8Bit());
610 } 612 }
611 613
612 // attachments 614 // attachments
613 // TODO: handle binary attachments! 615 // TODO: handle binary attachments!
614 QPtrList<Attachment> attachments = anEvent->attachments(); 616 QPtrList<Attachment> attachments = anEvent->attachments();
615 for ( Attachment *at = attachments.first(); at; at = attachments.next() ) 617 for ( Attachment *at = attachments.first(); at; at = attachments.next() )
616 addPropValue(vevent, VCAttachProp, at->uri().local8Bit()); 618 addPropValue(vevent, VCAttachProp, at->uri().local8Bit());
617 619
618 // resources 620 // resources
619 tmpStrList = anEvent->resources(); 621 tmpStrList = anEvent->resources();
620 tmpStr = tmpStrList.join(";"); 622 tmpStr = tmpStrList.join(";");
621 if (!tmpStr.isEmpty()) 623 if (!tmpStr.isEmpty())
622 addPropValue(vevent, VCResourcesProp, tmpStr.local8Bit()); 624 addPropValue(vevent, VCResourcesProp, tmpStr.local8Bit());
623 625
624 // alarm stuff 626 // alarm stuff
625 QPtrList<Alarm> alarms = anEvent->alarms(); 627 QPtrList<Alarm> alarms = anEvent->alarms();
626 Alarm* alarm; 628 Alarm* alarm;
627 for (alarm = alarms.first(); alarm; alarm = alarms.next()) { 629 for (alarm = alarms.first(); alarm; alarm = alarms.next()) {
628 if (alarm->enabled()) { 630 if (alarm->enabled()) {
629 VObject *a = addProp(vevent, VCDAlarmProp); 631 VObject *a ;
630 tmpStr = qDateTimeToISO(alarm->time()); 632 tmpStr = qDateTimeToISO(alarm->time());
631 addPropValue(a, VCRunTimeProp, tmpStr.local8Bit());
632 addPropValue(a, VCRepeatCountProp, "1");
633 addPropValue(a, VCDisplayStringProp, "beep!");
634 if (alarm->type() == Alarm::Audio) { 633 if (alarm->type() == Alarm::Audio) {
635 a = addProp(vevent, VCAAlarmProp); 634 a = addProp(vevent, VCAAlarmProp);
636 addPropValue(a, VCRunTimeProp, tmpStr.local8Bit()); 635 addPropValue(a, VCRunTimeProp, tmpStr.local8Bit());
637 addPropValue(a, VCRepeatCountProp, "1"); 636 addPropValue(a, VCRepeatCountProp, "1");
638 addPropValue(a, VCAudioContentProp, QFile::encodeName(alarm->audioFile())); 637 addPropValue(a, VCAudioContentProp, QFile::encodeName(alarm->audioFile()));
639 } 638 }
640 if (alarm->type() == Alarm::Procedure) { 639 if (alarm->type() == Alarm::Procedure) {
641 a = addProp(vevent, VCPAlarmProp); 640 a = addProp(vevent, VCPAlarmProp);
642 addPropValue(a, VCRunTimeProp, tmpStr.local8Bit()); 641 addPropValue(a, VCRunTimeProp, tmpStr.local8Bit());
643 addPropValue(a, VCRepeatCountProp, "1"); 642 addPropValue(a, VCRepeatCountProp, "1");
644 addPropValue(a, VCProcedureNameProp, QFile::encodeName(alarm->programFile())); 643 addPropValue(a, VCProcedureNameProp, QFile::encodeName(alarm->programFile()));
644 } else {
645 a = addProp(vevent, VCDAlarmProp);
646 addPropValue(a, VCRunTimeProp, tmpStr.local8Bit());
647 addPropValue(a, VCRepeatCountProp, "1");
648 addPropValue(a, VCDisplayStringProp, "beep!");
649
645 } 650 }
646 } 651 }
647 } 652 }
648 653
649 // priority 654 // priority
650 tmpStr.sprintf("%i",anEvent->priority()); 655 tmpStr.sprintf("%i",anEvent->priority());
651 addPropValue(vevent, VCPriorityProp, tmpStr.local8Bit()); 656 addPropValue(vevent, VCPriorityProp, tmpStr.local8Bit());
652 657
653 // transparency 658 // transparency
654 tmpStr.sprintf("%i",anEvent->transparency()); 659 tmpStr.sprintf("%i",anEvent->transparency());
655 addPropValue(vevent, VCTranspProp, tmpStr.local8Bit()); 660 addPropValue(vevent, VCTranspProp, tmpStr.local8Bit());
656 661
657 // related event 662 // related event
658 if (anEvent->relatedTo()) { 663 if (anEvent->relatedTo()) {
659 addPropValue(vevent, VCRelatedToProp, 664 addPropValue(vevent, VCRelatedToProp,
660 anEvent->relatedTo()->uid().local8Bit()); 665 anEvent->relatedTo()->uid().local8Bit());
661 } 666 }
662 667
663 if (anEvent->pilotId()) { 668 if (anEvent->pilotId()) {
664 // pilot sync stuff 669 // pilot sync stuff
665 tmpStr.sprintf("%i",anEvent->pilotId()); 670 tmpStr.sprintf("%i",anEvent->pilotId());
666 addPropValue(vevent, XPilotIdProp, tmpStr.local8Bit()); 671 addPropValue(vevent, XPilotIdProp, tmpStr.local8Bit());
667 tmpStr.sprintf("%i",anEvent->syncStatus()); 672 tmpStr.sprintf("%i",anEvent->syncStatus());
668 addPropValue(vevent, XPilotStatusProp, tmpStr.local8Bit()); 673 addPropValue(vevent, XPilotStatusProp, tmpStr.local8Bit());