summaryrefslogtreecommitdiff
authorar <ar>2005-12-10 16:43:43 (UTC)
committer ar <ar>2005-12-10 16:43:43 (UTC)
commit3948be20fed2f54054eda97f7a203084e904093b (patch) (side-by-side diff)
tree920892aa9efe49cf040fe4bf5bc883ea947792cf
parentbb9f3cb27500b70124985fd51f90b7f8ded33588 (diff)
downloadopie-3948be20fed2f54054eda97f7a203084e904093b.zip
opie-3948be20fed2f54054eda97f7a203084e904093b.tar.gz
opie-3948be20fed2f54054eda97f7a203084e904093b.tar.bz2
- fix a problem with Sony Ericsson GSM. It can only handle vCards whitch have first set Cellular, Fax, Pager property and then HOME or WORK property.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp b/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp
index 0ffbb67..5bc2755 100644
--- a/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp
+++ b/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp
@@ -424,131 +424,131 @@ OPimContact OPimContactAccessBackend_VCard::parseVObject( VObject *obj )
QCString name = vObjectName( o );
QString value = vObjectStringZValue( o );
printf(" subprop: %s = %s\n", name.data(), value.latin1() );
}
}
#endif
}
c.setFileAs();
return c;
}
VObject* OPimContactAccessBackend_VCard::createVObject( const OPimContact &c )
{
VObject *vcard = newVObject( VCCardProp );
safeAddPropValue( vcard, VCVersionProp, "2.1" );
safeAddPropValue( vcard, VCLastRevisedProp, TimeConversion::toISO8601( QDateTime::currentDateTime() ) );
safeAddPropValue( vcard, VCUniqueStringProp, QString::number(c.uid()) );
// full name
safeAddPropValue( vcard, VCFullNameProp, c.fullName() );
// name properties
VObject *name = safeAddProp( vcard, VCNameProp );
safeAddPropValue( name, VCFamilyNameProp, c.lastName() );
safeAddPropValue( name, VCGivenNameProp, c.firstName() );
safeAddPropValue( name, VCAdditionalNamesProp, c.middleName() );
safeAddPropValue( name, VCNamePrefixesProp, c.title() );
safeAddPropValue( name, VCNameSuffixesProp, c.suffix() );
// home properties
if ( !( c.homeStreet().isEmpty()
&& c.homeCity().isEmpty()
&& c.homeState().isEmpty()
&& c.homeZip().isEmpty()
&& c.homeCountry().isEmpty() ) ){
VObject *home_adr= safeAddProp( vcard, VCAdrProp );
safeAddProp( home_adr, VCHomeProp );
safeAddPropValue( home_adr, VCStreetAddressProp, c.homeStreet() );
safeAddPropValue( home_adr, VCCityProp, c.homeCity() );
safeAddPropValue( home_adr, VCRegionProp, c.homeState() );
safeAddPropValue( home_adr, VCPostalCodeProp, c.homeZip() );
safeAddPropValue( home_adr, VCCountryNameProp, c.homeCountry() );
}
VObject *home_phone = safeAddPropValue( vcard, VCTelephoneProp, c.homePhone() );
safeAddProp( home_phone, VCHomeProp );
home_phone = safeAddPropValue( vcard, VCTelephoneProp, c.homeMobile() );
- safeAddProp( home_phone, VCHomeProp );
safeAddProp( home_phone, VCCellularProp );
- home_phone = safeAddPropValue( vcard, VCTelephoneProp, c.homeFax() );
safeAddProp( home_phone, VCHomeProp );
+ home_phone = safeAddPropValue( vcard, VCTelephoneProp, c.homeFax() );
safeAddProp( home_phone, VCFaxProp );
+ safeAddProp( home_phone, VCHomeProp );
VObject *url = safeAddPropValue( vcard, VCURLProp, c.homeWebpage() );
safeAddProp( url, VCHomeProp );
// work properties
if ( !( c.businessStreet().isEmpty()
&& c.businessCity().isEmpty()
&& c.businessState().isEmpty()
&& c.businessZip().isEmpty()
&& c.businessCountry().isEmpty() ) ){
VObject *work_adr= safeAddProp( vcard, VCAdrProp );
safeAddProp( work_adr, VCWorkProp );
safeAddPropValue( work_adr, VCStreetAddressProp, c.businessStreet() );
safeAddPropValue( work_adr, VCCityProp, c.businessCity() );
safeAddPropValue( work_adr, VCRegionProp, c.businessState() );
safeAddPropValue( work_adr, VCPostalCodeProp, c.businessZip() );
safeAddPropValue( work_adr, VCCountryNameProp, c.businessCountry() );
}
VObject *work_phone = safeAddPropValue( vcard, VCTelephoneProp, c.businessPhone() );
safeAddProp( work_phone, VCWorkProp );
work_phone = safeAddPropValue( vcard, VCTelephoneProp, c.businessMobile() );
- safeAddProp( work_phone, VCWorkProp );
safeAddProp( work_phone, VCCellularProp );
- work_phone = safeAddPropValue( vcard, VCTelephoneProp, c.businessFax() );
safeAddProp( work_phone, VCWorkProp );
+ work_phone = safeAddPropValue( vcard, VCTelephoneProp, c.businessFax() );
safeAddProp( work_phone, VCFaxProp );
- work_phone = safeAddPropValue( vcard, VCTelephoneProp, c.businessPager() );
safeAddProp( work_phone, VCWorkProp );
+ work_phone = safeAddPropValue( vcard, VCTelephoneProp, c.businessPager() );
safeAddProp( work_phone, VCPagerProp );
+ safeAddProp( work_phone, VCWorkProp );
url = safeAddPropValue( vcard, VCURLProp, c.businessWebpage() );
safeAddProp( url, VCWorkProp );
VObject *title = safeAddPropValue( vcard, VCTitleProp, c.jobTitle() );
safeAddProp( title, VCWorkProp );
QStringList emails = c.emailList();
// emails.prepend( c.defaultEmail() ); Fix for bugreport #1045
for( QStringList::Iterator it = emails.begin(); it != emails.end(); ++it ) {
VObject *email = safeAddPropValue( vcard, VCEmailAddressProp, *it );
safeAddProp( email, VCInternetProp );
}
safeAddPropValue( vcard, VCNoteProp, c.notes() );
// Exporting Birthday regarding RFC 2425 (5.8.4)
if ( c.birthday().isValid() ){
safeAddPropValue( vcard, VCBirthDateProp, convDateToVCardDate( c.birthday() ) );
}
if ( !c.company().isEmpty() || !c.department().isEmpty() || !c.office().isEmpty() ) {
VObject *org = safeAddProp( vcard, VCOrgProp );
safeAddPropValue( org, VCOrgNameProp, c.company() );
safeAddPropValue( org, VCOrgUnitProp, c.department() );
safeAddPropValue( org, VCOrgUnit2Prop, c.office() );
}
// some values we have to export as custom fields
safeAddPropValue( vcard, "X-Qtopia-Profession", c.profession() );
safeAddPropValue( vcard, "X-Qtopia-Manager", c.manager() );
safeAddPropValue( vcard, "X-Qtopia-Assistant", c.assistant() );
safeAddPropValue( vcard, "X-Qtopia-Spouse", c.spouse() );
safeAddPropValue( vcard, "X-Qtopia-Gender", c.gender() );
if ( c.anniversary().isValid() ){
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 OPimContactAccessBackend_VCard::convDateToVCardDate( const QDate& d ) const
{
QString str_rfc2425 = QString("%1-%2-%3")