-rw-r--r-- | libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp | 37 | ||||
-rw-r--r-- | libopie2/opiepim/backend/ocontactaccessbackend_vcard.h | 4 |
2 files changed, 28 insertions, 13 deletions
diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp b/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp index 09ae37b..ca9e410 100644 --- a/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp +++ b/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp | |||
@@ -17,6 +17,9 @@ | |||
17 | * ===================================================================== | 17 | * ===================================================================== |
18 | * History: | 18 | * History: |
19 | * $Log$ | 19 | * $Log$ |
20 | * Revision 1.5 2002/12/07 13:26:22 eilers | ||
21 | * Fixing bug in storing anniversary.. | ||
22 | * | ||
20 | * Revision 1.4 2002/11/13 14:14:51 eilers | 23 | * Revision 1.4 2002/11/13 14:14:51 eilers |
21 | * Added sorted for Contacts.. | 24 | * Added sorted for Contacts.. |
22 | * | 25 | * |
@@ -383,7 +386,7 @@ OContact OContactAccessBackend_VCard::parseVObject( VObject *obj ) | |||
383 | c.setGender( value ); | 386 | c.setGender( value ); |
384 | } | 387 | } |
385 | else if ( name == "X-Qtopia-Anniversary" ) { | 388 | else if ( name == "X-Qtopia-Anniversary" ) { |
386 | c.setAnniversary( TimeConversion::fromString( value ) ); | 389 | c.setAnniversary( convVCardDateToDate( value ) ); |
387 | } | 390 | } |
388 | else if ( name == "X-Qtopia-Nickname" ) { | 391 | else if ( name == "X-Qtopia-Nickname" ) { |
389 | c.setNickname( value ); | 392 | c.setNickname( value ); |
@@ -494,17 +497,8 @@ VObject* OContactAccessBackend_VCard::createVObject( const OContact &c ) | |||
494 | 497 | ||
495 | // Exporting Birthday regarding RFC 2425 (5.8.4) | 498 | // Exporting Birthday regarding RFC 2425 (5.8.4) |
496 | if ( c.birthday().isValid() ){ | 499 | if ( c.birthday().isValid() ){ |
497 | QString birthd_rfc2425 = QString("%1-%2-%3") | 500 | qWarning("Exporting birthday as: %s", convDateToVCardDate( c.birthday() ).latin1() ); |
498 | .arg( c.birthday().year() ) | 501 | safeAddPropValue( vcard, VCBirthDateProp, convDateToVCardDate( c.birthday() ) ); |
499 | .arg( c.birthday().month(), 2 ) | ||
500 | .arg( c.birthday().day(), 2 ); | ||
501 | // Now replace spaces with "0"... | ||
502 | int pos = 0; | ||
503 | while ( ( pos = birthd_rfc2425.find (' ') ) > 0 ) | ||
504 | birthd_rfc2425.replace( pos, 1, "0" ); | ||
505 | |||
506 | qWarning("Exporting birthday as: %s", birthd_rfc2425.latin1()); | ||
507 | safeAddPropValue( vcard, VCBirthDateProp, birthd_rfc2425.latin1() ); | ||
508 | } | 502 | } |
509 | 503 | ||
510 | if ( !c.company().isEmpty() || !c.department().isEmpty() || !c.office().isEmpty() ) { | 504 | if ( !c.company().isEmpty() || !c.department().isEmpty() || !c.office().isEmpty() ) { |
@@ -521,13 +515,30 @@ VObject* OContactAccessBackend_VCard::createVObject( const OContact &c ) | |||
521 | 515 | ||
522 | safeAddPropValue( vcard, "X-Qtopia-Spouse", c.spouse() ); | 516 | safeAddPropValue( vcard, "X-Qtopia-Spouse", c.spouse() ); |
523 | safeAddPropValue( vcard, "X-Qtopia-Gender", c.gender() ); | 517 | safeAddPropValue( vcard, "X-Qtopia-Gender", c.gender() ); |
524 | safeAddPropValue( vcard, "X-Qtopia-Anniversary", TimeConversion::toString( c.anniversary() ) ); | 518 | if ( c.anniversary().isValid() ){ |
519 | qWarning("Exporting anniversary as: %s", convDateToVCardDate( c.anniversary() ).latin1() ); | ||
520 | safeAddPropValue( vcard, "X-Qtopia-Anniversary", convDateToVCardDate( c.anniversary() ) ); | ||
521 | } | ||
525 | safeAddPropValue( vcard, "X-Qtopia-Nickname", c.nickname() ); | 522 | safeAddPropValue( vcard, "X-Qtopia-Nickname", c.nickname() ); |
526 | safeAddPropValue( vcard, "X-Qtopia-Children", c.children() ); | 523 | safeAddPropValue( vcard, "X-Qtopia-Children", c.children() ); |
527 | 524 | ||
528 | return vcard; | 525 | return vcard; |
529 | } | 526 | } |
530 | 527 | ||
528 | QString OContactAccessBackend_VCard::convDateToVCardDate( const QDate& d ) const | ||
529 | { | ||
530 | QString str_rfc2425 = QString("%1-%2-%3") | ||
531 | .arg( d.year() ) | ||
532 | .arg( d.month(), 2 ) | ||
533 | .arg( d.day(), 2 ); | ||
534 | // Now replace spaces with "0"... | ||
535 | int pos = 0; | ||
536 | while ( ( pos = str_rfc2425.find (' ') ) > 0 ) | ||
537 | str_rfc2425.replace( pos, 1, "0" ); | ||
538 | |||
539 | return str_rfc2425; | ||
540 | } | ||
541 | |||
531 | QDate OContactAccessBackend_VCard::convVCardDateToDate( const QString& datestr ) | 542 | QDate OContactAccessBackend_VCard::convVCardDateToDate( const QString& datestr ) |
532 | { | 543 | { |
533 | int monthPos = datestr.find('-'); | 544 | int monthPos = datestr.find('-'); |
diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_vcard.h b/libopie2/opiepim/backend/ocontactaccessbackend_vcard.h index 4437756..236da00 100644 --- a/libopie2/opiepim/backend/ocontactaccessbackend_vcard.h +++ b/libopie2/opiepim/backend/ocontactaccessbackend_vcard.h | |||
@@ -17,6 +17,9 @@ | |||
17 | * ===================================================================== | 17 | * ===================================================================== |
18 | * History: | 18 | * History: |
19 | * $Log$ | 19 | * $Log$ |
20 | * Revision 1.4 2002/12/07 13:26:22 eilers | ||
21 | * Fixing bug in storing anniversary.. | ||
22 | * | ||
20 | * Revision 1.3 2002/11/13 14:14:51 eilers | 23 | * Revision 1.3 2002/11/13 14:14:51 eilers |
21 | * Added sorted for Contacts.. | 24 | * Added sorted for Contacts.. |
22 | * | 25 | * |
@@ -62,6 +65,7 @@ class OContactAccessBackend_VCard : public OContactAccessBackend { | |||
62 | private: | 65 | private: |
63 | OContact parseVObject( VObject* obj ); | 66 | OContact parseVObject( VObject* obj ); |
64 | VObject* createVObject( const OContact& c ); | 67 | VObject* createVObject( const OContact& c ); |
68 | QString convDateToVCardDate( const QDate& c ) const; | ||
65 | QDate convVCardDateToDate( const QString& datestr ); | 69 | QDate convVCardDateToDate( const QString& datestr ); |
66 | VObject *safeAddPropValue( VObject *o, const char* prop, const QString& value ); | 70 | VObject *safeAddPropValue( VObject *o, const char* prop, const QString& value ); |
67 | VObject *safeAddProp( VObject* o, const char* prop); | 71 | VObject *safeAddProp( VObject* o, const char* prop); |