summaryrefslogtreecommitdiff
path: root/libopie/pim/ocontactaccessbackend_vcard.cpp
authoreilers <eilers>2002-12-07 13:26:22 (UTC)
committer eilers <eilers>2002-12-07 13:26:22 (UTC)
commit1e0c4ae8e82863179199b0437a6d9cca6b661a7e (patch) (side-by-side diff)
tree8a452f8747290d638787ee47a3a8bf8147db0786 /libopie/pim/ocontactaccessbackend_vcard.cpp
parentad2a10877ae6e50b1a765a9b7cff14494c65e588 (diff)
downloadopie-1e0c4ae8e82863179199b0437a6d9cca6b661a7e.zip
opie-1e0c4ae8e82863179199b0437a6d9cca6b661a7e.tar.gz
opie-1e0c4ae8e82863179199b0437a6d9cca6b661a7e.tar.bz2
Fixing bug in storing anniversary..
Diffstat (limited to 'libopie/pim/ocontactaccessbackend_vcard.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/pim/ocontactaccessbackend_vcard.cpp37
1 files changed, 24 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 @@
* Version: $Id$
* =====================================================================
* 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..
*
* Revision 1.3 2002/11/11 16:41:09 kergoth
@@ -382,9 +385,9 @@ OContact OContactAccessBackend_VCard::parseVObject( VObject *obj )
else if ( name == "X-Qtopia-Gender" ) {
c.setGender( value );
}
else if ( name == "X-Qtopia-Anniversary" ) {
- c.setAnniversary( TimeConversion::fromString( value ) );
+ c.setAnniversary( convVCardDateToDate( value ) );
}
else if ( name == "X-Qtopia-Nickname" ) {
c.setNickname( value );
}
@@ -493,19 +496,10 @@ VObject* OContactAccessBackend_VCard::createVObject( const OContact &c )
safeAddPropValue( vcard, VCNoteProp, c.notes() );
// 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() ) );
}
if ( !c.company().isEmpty() || !c.department().isEmpty() || !c.office().isEmpty() ) {
VObject *org = safeAddProp( vcard, VCOrgProp );
@@ -520,15 +514,32 @@ VObject* OContactAccessBackend_VCard::createVObject( const OContact &c )
safeAddPropValue( vcard, "X-Qtopia-Assistant", c.assistant() );
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() );
return vcard;
}
+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 )
{
int monthPos = datestr.find('-');
int dayPos = datestr.find('-', monthPos+1 );