author | eilers <eilers> | 2002-12-07 13:26:22 (UTC) |
---|---|---|
committer | eilers <eilers> | 2002-12-07 13:26:22 (UTC) |
commit | 1e0c4ae8e82863179199b0437a6d9cca6b661a7e (patch) (unidiff) | |
tree | 8a452f8747290d638787ee47a3a8bf8147db0786 /libopie/pim | |
parent | ad2a10877ae6e50b1a765a9b7cff14494c65e588 (diff) | |
download | opie-1e0c4ae8e82863179199b0437a6d9cca6b661a7e.zip opie-1e0c4ae8e82863179199b0437a6d9cca6b661a7e.tar.gz opie-1e0c4ae8e82863179199b0437a6d9cca6b661a7e.tar.bz2 |
Fixing bug in storing anniversary..
-rw-r--r-- | libopie/pim/ocontactaccessbackend_vcard.cpp | 37 | ||||
-rw-r--r-- | libopie/pim/ocontactaccessbackend_vcard.h | 4 |
2 files changed, 28 insertions, 13 deletions
diff --git a/libopie/pim/ocontactaccessbackend_vcard.cpp b/libopie/pim/ocontactaccessbackend_vcard.cpp index 09ae37b..ca9e410 100644 --- a/libopie/pim/ocontactaccessbackend_vcard.cpp +++ b/libopie/pim/ocontactaccessbackend_vcard.cpp | |||
@@ -16,8 +16,11 @@ | |||
16 | * Version: $Id$ | 16 | * Version: $Id$ |
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 | * |
23 | * Revision 1.3 2002/11/11 16:41:09 kergoth | 26 | * Revision 1.3 2002/11/11 16:41:09 kergoth |
@@ -382,9 +385,9 @@ OContact OContactAccessBackend_VCard::parseVObject( VObject *obj ) | |||
382 | else if ( name == "X-Qtopia-Gender" ) { | 385 | else if ( name == "X-Qtopia-Gender" ) { |
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 ); |
390 | } | 393 | } |
@@ -493,19 +496,10 @@ VObject* OContactAccessBackend_VCard::createVObject( const OContact &c ) | |||
493 | safeAddPropValue( vcard, VCNoteProp, c.notes() ); | 496 | safeAddPropValue( vcard, VCNoteProp, c.notes() ); |
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() ) { |
511 | VObject *org = safeAddProp( vcard, VCOrgProp ); | 505 | VObject *org = safeAddProp( vcard, VCOrgProp ); |
@@ -520,15 +514,32 @@ VObject* OContactAccessBackend_VCard::createVObject( const OContact &c ) | |||
520 | safeAddPropValue( vcard, "X-Qtopia-Assistant", c.assistant() ); | 514 | safeAddPropValue( vcard, "X-Qtopia-Assistant", c.assistant() ); |
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('-'); |
534 | int dayPos = datestr.find('-', monthPos+1 ); | 545 | int dayPos = datestr.find('-', monthPos+1 ); |
diff --git a/libopie/pim/ocontactaccessbackend_vcard.h b/libopie/pim/ocontactaccessbackend_vcard.h index 4437756..236da00 100644 --- a/libopie/pim/ocontactaccessbackend_vcard.h +++ b/libopie/pim/ocontactaccessbackend_vcard.h | |||
@@ -16,8 +16,11 @@ | |||
16 | * Version: $Id$ | 16 | * Version: $Id$ |
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 | * |
23 | * Revision 1.2 2002/11/10 15:41:53 eilers | 26 | * Revision 1.2 2002/11/10 15:41:53 eilers |
@@ -61,8 +64,9 @@ class OContactAccessBackend_VCard : public OContactAccessBackend { | |||
61 | 64 | ||
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); |
68 | 72 | ||