summaryrefslogtreecommitdiff
path: root/libopie/pim
Unidiff
Diffstat (limited to 'libopie/pim') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/pim/ocontactaccessbackend_vcard.cpp37
-rw-r--r--libopie/pim/ocontactaccessbackend_vcard.h4
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 @@
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..
@@ -384,5 +387,5 @@ OContact OContactAccessBackend_VCard::parseVObject( VObject *obj )
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" ) {
@@ -495,15 +498,6 @@ VObject* OContactAccessBackend_VCard::createVObject( const OContact &c )
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
@@ -522,5 +516,8 @@ VObject* OContactAccessBackend_VCard::createVObject( const OContact &c )
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() );
@@ -529,4 +526,18 @@ VObject* OContactAccessBackend_VCard::createVObject( const OContact &c )
529} 526}
530 527
528QString 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
531QDate OContactAccessBackend_VCard::convVCardDateToDate( const QString& datestr ) 542QDate OContactAccessBackend_VCard::convVCardDateToDate( const QString& datestr )
532{ 543{
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 @@
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..
@@ -63,4 +66,5 @@ 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 );