-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 @@ -18,4 +18,7 @@ * History: * $Log$ + * Revision 1.5 2002/12/07 13:26:22 eilers + * Fixing bug in storing anniversary.. + * * Revision 1.4 2002/11/13 14:14:51 eilers * Added sorted for Contacts.. @@ -384,5 +387,5 @@ OContact OContactAccessBackend_VCard::parseVObject( VObject *obj ) } else if ( name == "X-Qtopia-Anniversary" ) { - c.setAnniversary( TimeConversion::fromString( value ) ); + c.setAnniversary( convVCardDateToDate( value ) ); } else if ( name == "X-Qtopia-Nickname" ) { @@ -495,15 +498,6 @@ VObject* OContactAccessBackend_VCard::createVObject( const OContact &c ) // Exporting Birthday regarding RFC 2425 (5.8.4) if ( c.birthday().isValid() ){ - QString birthd_rfc2425 = QString("%1-%2-%3") - .arg( c.birthday().year() ) - .arg( c.birthday().month(), 2 ) - .arg( c.birthday().day(), 2 ); - // Now replace spaces with "0"... - int pos = 0; - while ( ( pos = birthd_rfc2425.find (' ') ) > 0 ) - birthd_rfc2425.replace( pos, 1, "0" ); - - qWarning("Exporting birthday as: %s", birthd_rfc2425.latin1()); - safeAddPropValue( vcard, VCBirthDateProp, birthd_rfc2425.latin1() ); + qWarning("Exporting birthday as: %s", convDateToVCardDate( c.birthday() ).latin1() ); + safeAddPropValue( vcard, VCBirthDateProp, convDateToVCardDate( c.birthday() ) ); } @@ -522,5 +516,8 @@ VObject* OContactAccessBackend_VCard::createVObject( const OContact &c ) safeAddPropValue( vcard, "X-Qtopia-Spouse", c.spouse() ); safeAddPropValue( vcard, "X-Qtopia-Gender", c.gender() ); - safeAddPropValue( vcard, "X-Qtopia-Anniversary", TimeConversion::toString( c.anniversary() ) ); + if ( c.anniversary().isValid() ){ + qWarning("Exporting anniversary as: %s", convDateToVCardDate( c.anniversary() ).latin1() ); + safeAddPropValue( vcard, "X-Qtopia-Anniversary", convDateToVCardDate( c.anniversary() ) ); + } safeAddPropValue( vcard, "X-Qtopia-Nickname", c.nickname() ); safeAddPropValue( vcard, "X-Qtopia-Children", c.children() ); @@ -529,4 +526,18 @@ VObject* OContactAccessBackend_VCard::createVObject( const OContact &c ) } +QString OContactAccessBackend_VCard::convDateToVCardDate( const QDate& d ) const +{ + QString str_rfc2425 = QString("%1-%2-%3") + .arg( d.year() ) + .arg( d.month(), 2 ) + .arg( d.day(), 2 ); + // Now replace spaces with "0"... + int pos = 0; + while ( ( pos = str_rfc2425.find (' ') ) > 0 ) + str_rfc2425.replace( pos, 1, "0" ); + + return str_rfc2425; +} + QDate OContactAccessBackend_VCard::convVCardDateToDate( const QString& datestr ) { 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 @@ -18,4 +18,7 @@ * History: * $Log$ + * Revision 1.4 2002/12/07 13:26:22 eilers + * Fixing bug in storing anniversary.. + * * Revision 1.3 2002/11/13 14:14:51 eilers * Added sorted for Contacts.. @@ -63,4 +66,5 @@ private: OContact parseVObject( VObject* obj ); VObject* createVObject( const OContact& c ); + QString convDateToVCardDate( const QDate& c ) const; QDate convVCardDateToDate( const QString& datestr ); VObject *safeAddPropValue( VObject *o, const char* prop, const QString& value ); |