-rw-r--r-- | kabc/plugins/qtopia/qtopiaconverter.cpp | 8 | ||||
-rw-r--r-- | kabc/plugins/sharpdtm/sharpdtmconverter.cpp | 10 |
2 files changed, 9 insertions, 9 deletions
diff --git a/kabc/plugins/qtopia/qtopiaconverter.cpp b/kabc/plugins/qtopia/qtopiaconverter.cpp index 39d366b..9693a68 100644 --- a/kabc/plugins/qtopia/qtopiaconverter.cpp +++ b/kabc/plugins/qtopia/qtopiaconverter.cpp @@ -76,286 +76,286 @@ QString QtopiaConverter::categoriesToNumber( const QStringList &list, const QStr bool found = false; for ( QStringList::ConstIterator listIt = list.begin(); listIt != list.end(); ++listIt ) { /* skip empty category name */ if ( (*listIt).isEmpty() ) continue; found = false; for ( catIt = categories.begin(); catIt != categories.end(); ++catIt ) { /* * We currently do not take app into account * if name matches and the id isn't already in dummy we'll add it */ if ( (*catIt).name() == (*listIt) && !dummy.contains(( *catIt).id() ) ) { // the same name found= true; dummy << (*catIt).id(); } } /* if not found and the category is not empty * * generate a new category and start over again * ugly goto to reiterate */ if ( !found && !(*listIt).isEmpty() ){ m_edit->addCategory( app, (*listIt) ); // generate a new category goto startover; } } return dummy.join(";"); } // FROM TT timeconversion.cpp GPLed QDate QtopiaConverter::fromString( const QString &datestr ) { if (datestr.isEmpty() ) return QDate(); int monthPos = datestr.find('.'); int yearPos = datestr.find('.', monthPos+1 ); if ( monthPos == -1 || yearPos == -1 ) { return QDate(); } int d = datestr.left( monthPos ).toInt(); int m = datestr.mid( monthPos+1, yearPos - monthPos - 1 ).toInt(); int y = datestr.mid( yearPos+1 ).toInt(); QDate date ( y,m,d ); return date; } QDate QtopiaConverter::dateFromString( const QString& s ) { QDate date; if ( s.isEmpty() ) return date; // Be backward compatible to old Opie format: // Try to load old format. If it fails, try new ISO-Format! date = fromString ( s ); if ( date.isValid() ) return date; // Read ISO-Format (YYYYMMDD) int year = s.mid(0, 4).toInt(); int month = s.mid(4,2).toInt(); int day = s.mid(6,2).toInt(); // do some quick sanity checking if ( year < 1900 || year > 3000 ) return date; if ( month < 0 || month > 12 ) return date; if ( day < 0 || day > 31 ) return date; date.setYMD( year, month, day ); if ( !date.isValid() ) return QDate(); return date; } QString QtopiaConverter::dateToString( const QDate &d ) { if ( d.isNull() || !d.isValid() ) return QString::null; // ISO format in year, month, day (YYYYMMDD); e.g. 20021231 QString year = QString::number( d.year() ); QString month = QString::number( d.month() ); month = month.rightJustify( 2, '0' ); QString day = QString::number( d.day() ); day = day.rightJustify( 2, '0' ); QString str = year + month + day; return str; } bool QtopiaConverter::qtopiaToAddressee( const QDomElement& el, Addressee &adr ) { { //LR adr.setUid( el.attribute("Uid" ) ); adr.setFamilyName( el.attribute( "LastName" ) ); adr.setGivenName( el.attribute( "FirstName" ) ); adr.setAdditionalName( el.attribute( "MiddleName" ) ); adr.setSuffix( el.attribute( "Suffix" ) ); adr.setNickName( el.attribute( "Nickname" ) ); QDate date = dateFromString( el.attribute( "Birthday" ) ); if ( date.isValid() ) adr.setBirthday( date ); adr.setRole( el.attribute( "JobTitle" ) ); if ( !el.attribute( "FileAs" ).isEmpty() ) adr.setFormattedName( el.attribute( "FileAs" ) ); adr.setOrganization( el.attribute( "Company" ) ); KABC::PhoneNumber businessPhoneNum( el.attribute( "BusinessPhone" ), - KABC::PhoneNumber::Work ); + KABC::PhoneNumber::Work | KABC::PhoneNumber::Pref ); KABC::PhoneNumber businessFaxNum( el.attribute( "BusinessFax" ), KABC::PhoneNumber::Work | KABC::PhoneNumber::Fax ); KABC::PhoneNumber businessMobile( el.attribute( "BusinessMobile" ), - KABC::PhoneNumber::Work | KABC::PhoneNumber::Cell ); + KABC::PhoneNumber::Car ); KABC::PhoneNumber businessPager( el.attribute( "BusinessPager" ), - KABC::PhoneNumber::Work | KABC::PhoneNumber::Pager ); + KABC::PhoneNumber::Pager ); if ( !businessPhoneNum.number().isEmpty() ) adr.insertPhoneNumber( businessPhoneNum ); if ( !businessFaxNum.number().isEmpty() ) adr.insertPhoneNumber( businessFaxNum ); if ( !businessMobile.number().isEmpty() ) adr.insertPhoneNumber( businessMobile ); if ( !businessPager.number().isEmpty() ) adr.insertPhoneNumber( businessPager ); // Handle multiple mail addresses QString DefaultEmail = el.attribute( "DefaultEmail" ); if ( !DefaultEmail.isEmpty() ) adr.insertEmail( DefaultEmail, true ); // preferred QStringList Emails = QStringList::split(" ",el.attribute("Emails")); int i; for (i = 0;i < Emails.count();++i) { if ( Emails[i] != DefaultEmail ) adr.insertEmail( Emails[i], false ); } KABC::PhoneNumber homePhoneNum( el.attribute( "HomePhone" ), - KABC::PhoneNumber::Home ); + KABC::PhoneNumber::Home | KABC::PhoneNumber::Pref); KABC::PhoneNumber homeFax( el.attribute( "HomeFax" ), KABC::PhoneNumber::Home | KABC::PhoneNumber::Fax ); KABC::PhoneNumber homeMobile( el.attribute( "HomeMobile" ), KABC::PhoneNumber::Cell ); if ( !homePhoneNum.number().isEmpty() ) adr.insertPhoneNumber( homePhoneNum ); if ( !homeFax.number().isEmpty() ) adr.insertPhoneNumber( homeFax ); if ( !homeMobile.number().isEmpty() ) adr.insertPhoneNumber( homeMobile ); KABC::Address business( KABC::Address::Work ); business.setStreet( el.attribute( "BusinessStreet" ) ); business.setLocality( el.attribute( "BusinessCity" ) ); business.setRegion( el.attribute( "BusinessState" ) ); business.setPostalCode( el.attribute( "BusinessZip" ) ); business.setCountry( el.attribute( "BusinessCountry" ) ); if ( !business.isEmpty() ) adr.insertAddress( business ); KABC::Address home( KABC::Address::Home ); home.setStreet( el.attribute( "HomeStreet" ) ); home.setLocality( el.attribute( "HomeCity" ) ); home.setRegion( el.attribute( "HomeState" ) ); home.setPostalCode( el.attribute( "HomeZip" ) ); home.setCountry( el.attribute( "HomeCountry" ) ); if ( !home.isEmpty() ) adr.insertAddress( home ); adr.setNickName( el.attribute( "Nickname" ) ); adr.setNote( el.attribute( "Notes" ) ); { QStringList categories = QStringList::split(";", el.attribute("Categories" ) ); QString cat; QStringList added; for ( uint i = 0; i < categories.count(); i++ ) { cat = m_edit->categoryById( categories[ i ], "Contacts" ); // if name is not empty and we did not add the // cat try to repair broken files if ( !cat.isEmpty() && !added.contains( cat ) ) { adr.insertCategory( cat ); added << cat; } } } if ( !el.attribute( "Department" ).isEmpty() ) adr.insertCustom( "KADDRESSBOOK", "X-Department", el.attribute( "Department" ) ); if ( !el.attribute( "HomeWebPage" ).isEmpty() ) adr.insertCustom( "opie", "HomeWebPage", el.attribute( "HomeWebPage" ) ); if ( !el.attribute( "Spouse" ).isEmpty() ) adr.insertCustom( "KADDRESSBOOK", "X-SpousesName", el.attribute( "Spouse" ) ); if ( !el.attribute( "Gender" ).isEmpty() ) { if ( el.attribute( "Gender" ) == "1" ) adr.insertCustom( "KADDRESSBOOK", "X-Gender", "male" ); else if ( el.attribute( "Gender" ) == "2" ) adr.insertCustom( "KADDRESSBOOK", "X-Gender", "female" ); } QDate ann = dateFromString( el.attribute( "Anniversary" ) ); if ( ann.isValid() ) { QString dt = KGlobal::locale()->formatDate(ann, true, KLocale::ISODate); adr.insertCustom( "KADDRESSBOOK", "X-Anniversary", dt ); } if ( !el.attribute( "Children" ).isEmpty() ) adr.insertCustom("KADDRESSBOOK", "X-Children", el.attribute("Children") ); if ( !el.attribute( "Office" ).isEmpty() ) adr.insertCustom("KADDRESSBOOK", "X-Office", el.attribute("Office") ); if ( !el.attribute( "Profession" ).isEmpty() ) adr.insertCustom("KADDRESSBOOK", "X-Profession", el.attribute("Profession") ); if ( !el.attribute( "Assistant" ).isEmpty() ) adr.insertCustom("KADDRESSBOOK", "X-AssistantsName", el.attribute("Assistant") ); if ( !el.attribute( "Manager" ).isEmpty() ) adr.insertCustom("KADDRESSBOOK", "X-ManagersName", el.attribute("Manager") ); } return true; } bool QtopiaConverter::addresseeToQtopia( const Addressee &ab, QTextStream *stream ) { *stream << "<Contact "; *stream << "FirstName=\"" << escape(ab.givenName()) << "\" "; *stream << "MiddleName=\"" << escape(ab.additionalName()) << "\" "; *stream << "LastName=\"" << escape(ab.familyName()) << "\" "; *stream << "Suffix=\"" << escape(ab.suffix()) << "\" "; QString sortStr; sortStr = ab.formattedName(); /* is formattedName is empty we use the assembled name as fallback */ if (sortStr.isEmpty() ) sortStr = ab.assembledName(); *stream << "FileAs=\"" << escape(sortStr) << "\" "; *stream << "JobTitle=\"" << escape(ab.role()) << "\" "; *stream << "Department=\"" << escape(ab.custom( "KADDRESSBOOK", "X-Department" )) << "\" "; *stream << "Company=\"" << escape(ab.organization()) << "\" "; KABC::PhoneNumber businessPhoneNum = ab.phoneNumber(KABC::PhoneNumber::Work ); *stream << "BusinessPhone=\"" << escape( businessPhoneNum.number() ) << "\" "; KABC::PhoneNumber businessFaxNum = ab.phoneNumber(KABC::PhoneNumber::Work | KABC::PhoneNumber::Fax ); *stream << "BusinessFax=\"" << escape( businessFaxNum.number() )<< "\" "; KABC::PhoneNumber businessMobile = ab.phoneNumber(KABC::PhoneNumber::Work | KABC::PhoneNumber::Cell ); *stream << "BusinessMobile=\"" << escape( businessMobile.number() ) << "\" "; *stream << "DefaultEmail=\"" << escape( ab.preferredEmail() ) << "\" "; QStringList list = ab.emails(); if ( list.count() > 0 ) { QStringList::Iterator it = list.begin(); *stream << "Emails=\"" << escape( *it ); while (++it != list.end()) *stream << ' ' << escape( *it ); *stream << "\" "; } KABC::PhoneNumber homePhoneNum = ab.phoneNumber(KABC::PhoneNumber::Home ); *stream << "HomePhone=\"" << escape( homePhoneNum.number() ) << "\" "; KABC::PhoneNumber homeFax = ab.phoneNumber( KABC::PhoneNumber::Home | KABC::PhoneNumber::Fax ); diff --git a/kabc/plugins/sharpdtm/sharpdtmconverter.cpp b/kabc/plugins/sharpdtm/sharpdtmconverter.cpp index 4adcae4..3d429fa 100644 --- a/kabc/plugins/sharpdtm/sharpdtmconverter.cpp +++ b/kabc/plugins/sharpdtm/sharpdtmconverter.cpp @@ -7,329 +7,329 @@ License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Enhanced Version of the file for platform independent KDE tools. Copyright (c) 2004 Ulf Schenk $Id$ */ #include "kglobal.h" #include <qregexp.h> #include "sharpdtmconverter.h" #include <sl/slcategories.h> #include <libkdepim/ksyncprofile.h> //US #include <qpe/categoryselect.h> using namespace KABC; using namespace SlCategory; SharpDTMConverter::SharpDTMConverter() : catDB(0) { } SharpDTMConverter::~SharpDTMConverter() { deinit(); } bool SharpDTMConverter::init() { catDB = new SlCategory::SlCategories(); if (!catDB) return false; // catDB->load( categoryFileName() ); return true; } void SharpDTMConverter::deinit() { if (catDB) { delete catDB; catDB = 0; } } bool SharpDTMConverter::sharpToAddressee( const CardId &contact, const SlZDataBase* database, Addressee &addr ) { SlZDataBase* db = (SlZDataBase*)database; // for syncing: we need setting of the two fields addr.setExternalUID( QString::number( contact ) ); addr.setOriginalExternalUID( QString::number( contact ) ); addr.setTempSyncStat( SYNC_TEMPSTATE_NEW_EXTERNAL ); // name //qDebug("SharpDTMConverter::sharpToAddressee check if the fileAs transformation works!!"); addr.setFormattedName(db->readField(ZdbAdrs::FileAs)); //addr.setName(db->readField(ZdbAdrs::FullName)); addr.setFamilyName( db->readField(ZdbAdrs::LastName) ); addr.setGivenName( db->readField(ZdbAdrs::FirstName) ); addr.setAdditionalName( db->readField(ZdbAdrs::MiddleName) ); addr.setPrefix( db->readField(ZdbAdrs::Title) ); addr.setSuffix( db->readField(ZdbAdrs::Suffix) ); QString emailstr = db->readField(ZdbAdrs::Emails); emailstr.replace( QRegExp(","), " " ); emailstr.replace( QRegExp(";"), " " ); emailstr.replace( QRegExp(":"), " " ); //qDebug("SharpDTMConverter::sharpToAddressee whats the character to seperate the emailadresses? %s ", emailstr.latin1()); QStringList emails = QStringList::split(" ", emailstr.simplifyWhiteSpace()); bool defE = false; bool found = false; for ( QStringList::Iterator it = emails.begin(); it != emails.end(); ++it ) { if (found ) defE = false; else found = defE = ((*it).lower() == db->readField(ZdbAdrs::DefaultEmail).lower()); addr.insertEmail( *it, defE ); } if ( ! found ) if (!db->readField(ZdbAdrs::DefaultEmail).isEmpty()) addr.insertEmail(db->readField(ZdbAdrs::DefaultEmail), true); // home if ((!db->readField(ZdbAdrs::HomeStreet).isEmpty()) || (!db->readField(ZdbAdrs::HomeCity).isEmpty()) || (!db->readField(ZdbAdrs::HomeState).isEmpty()) || (!db->readField(ZdbAdrs::HomeZip).isEmpty()) || (!db->readField(ZdbAdrs::HomeCountry).isEmpty())) { Address homeaddress; homeaddress.setType(Address::Home); //US homeaddress.setPostOfficeBox( "" ); //US homeaddress.setExtended( "" ); homeaddress.setStreet( db->readField(ZdbAdrs::HomeStreet).replace( QRegExp("\\r"), "")); homeaddress.setLocality( db->readField(ZdbAdrs::HomeCity) ); homeaddress.setRegion( db->readField(ZdbAdrs::HomeState) ); homeaddress.setPostalCode( db->readField(ZdbAdrs::HomeZip) ); homeaddress.setCountry( db->readField(ZdbAdrs::HomeCountry) ); addr.insertAddress( homeaddress ); } if (!db->readField(ZdbAdrs::HomePhone).isEmpty()) { PhoneNumber homephone; - homephone.setType( PhoneNumber::Home ); + homephone.setType( PhoneNumber::Home | PhoneNumber::Pref ); homephone.setNumber( db->readField(ZdbAdrs::HomePhone) ); addr.insertPhoneNumber( homephone ); } if (!db->readField(ZdbAdrs::HomeFax).isEmpty()) { PhoneNumber homefax; homefax.setType( PhoneNumber::Home | PhoneNumber::Fax ); homefax.setNumber( db->readField(ZdbAdrs::HomeFax) ); addr.insertPhoneNumber( homefax ); } if (!db->readField(ZdbAdrs::HomeMobile).isEmpty()) { PhoneNumber homemobile; - homemobile.setType( PhoneNumber::Home | PhoneNumber::Cell ); + homemobile.setType( PhoneNumber::Cell ); homemobile.setNumber( db->readField(ZdbAdrs::HomeMobile) ); addr.insertPhoneNumber( homemobile ); } addr.setUrl( db->readField(ZdbAdrs::HomeWebPage) ); // business if ((!db->readField(ZdbAdrs::BusinessStreet).isEmpty()) || (!db->readField(ZdbAdrs::BusinessCity).isEmpty()) || (!db->readField(ZdbAdrs::BusinessState).isEmpty()) || (!db->readField(ZdbAdrs::BusinessZip).isEmpty()) || (!db->readField(ZdbAdrs::BusinessCountry).isEmpty())) { Address businessaddress; businessaddress.setType(Address::Work); //US businessaddress.setPostOfficeBox( "" ); //US businessaddress.setExtended( "" ); businessaddress.setStreet( db->readField(ZdbAdrs::BusinessStreet).replace( QRegExp("\\r"), "") ); businessaddress.setLocality( db->readField(ZdbAdrs::BusinessCity) ); businessaddress.setRegion( db->readField(ZdbAdrs::BusinessState) ); businessaddress.setPostalCode( db->readField(ZdbAdrs::BusinessZip) ); businessaddress.setCountry( db->readField(ZdbAdrs::BusinessCountry) ); addr.insertAddress( businessaddress ); } if (!db->readField(ZdbAdrs::BusinessPhone).isEmpty()) { PhoneNumber businessphone; - businessphone.setType( PhoneNumber::Work ); + businessphone.setType( PhoneNumber::Work | PhoneNumber::Pref ); businessphone.setNumber( db->readField(ZdbAdrs::BusinessPhone) ); addr.insertPhoneNumber( businessphone ); } if (!db->readField(ZdbAdrs::BusinessFax).isEmpty()) { PhoneNumber businessfax; businessfax.setType( PhoneNumber::Work | PhoneNumber::Fax ); businessfax.setNumber( db->readField(ZdbAdrs::BusinessFax) ); addr.insertPhoneNumber( businessfax ); } if (!db->readField(ZdbAdrs::BusinessMobile).isEmpty()) { PhoneNumber businessmobile; - businessmobile.setType( PhoneNumber::Work | PhoneNumber::Cell ); + businessmobile.setType( PhoneNumber::Car ); businessmobile.setNumber( db->readField(ZdbAdrs::BusinessMobile) ); addr.insertPhoneNumber( businessmobile ); } if (!db->readField(ZdbAdrs::BusinessPager).isEmpty()) { PhoneNumber businesspager; - businesspager.setType( PhoneNumber::Work | PhoneNumber::Pager ); + businesspager.setType( PhoneNumber::Pager ); businesspager.setNumber( db->readField(ZdbAdrs::BusinessPager) ); addr.insertPhoneNumber( businesspager ); } addr.setRole( db->readField(ZdbAdrs::JobTitle) ); addr.setOrganization( db->readField(ZdbAdrs::Company) ); addr.insertCustom( "KADDRESSBOOK", "X-Profession", db->readField(ZdbAdrs::Profession) ); addr.insertCustom( "KADDRESSBOOK", "X-AssistantsName", db->readField(ZdbAdrs::Assistant) ); addr.insertCustom( "KADDRESSBOOK", "X-Department", db->readField(ZdbAdrs::Department) ); addr.insertCustom( "KADDRESSBOOK", "X-ManagersName", db->readField(ZdbAdrs::Manager) ); addr.insertCustom( "KADDRESSBOOK", "X-Office", db->readField(ZdbAdrs::Office) ); //personal addr.insertCustom( "KADDRESSBOOK", "X-SpousesName", db->readField(ZdbAdrs::Spouse) ); QString gen = db->readField(ZdbAdrs::Gender); //qDebug("SharpDTMConverter::sharpToAddressee pleas check that gender works!! : Gender: %s", gen.latin1()); //qDebug("SharpDTMConverter::sharpToAddressee: may be int db->readUshortField(\"ZdbAdrs::Gender\") is here better suited"); if (gen == "1") addr.insertCustom( "KADDRESSBOOK", "X-Gender", "male"); else if (gen == "2") addr.insertCustom( "KADDRESSBOOK", "X-Gender", "female"); else addr.insertCustom( "KADDRESSBOOK", "X-Gender", "undef"); QDate ann = KGlobal::locale()->readDate( db->readField(ZdbAdrs::Anniversary) ); if (ann.isValid()) { QString dt = KGlobal::locale()->formatDate(ann, true, KLocale::ISODate); //qDebug("qtopiaToAddressee annyversary found:%s", dt.latin1()); addr.insertCustom( "KADDRESSBOOK", "X-Anniversary", dt); } else addr.insertCustom( "KADDRESSBOOK", "X-Anniversary", " "); addr.insertCustom( "KADDRESSBOOK", "X-Children", db->readField(ZdbAdrs::Children) ); QDate birthd = KGlobal::locale()->readDate( db->readField(ZdbAdrs::Birthday) ); //qDebug("birtd %s ", birthd.toString().latin1()); if (birthd.isValid()) addr.setBirthday( birthd ); addr.setNickName( db->readField(ZdbAdrs::Nickname) ); // others //US I put opies BusinessWebPage into Ka/Pi's notes block, because no other native field is available. //QString notes = db->readField(ZdbAdrs::Notes); //notes += "\nBusinessWebPage: " + db->readField(ZdbAdrs::BusinessWebPage) + "\n"; if ( addr.url().isEmpty() ) addr.setUrl( db->readField(ZdbAdrs::BusinessWebPage) ); addr.setNote( db->readField(ZdbAdrs::Notes).replace( QRegExp("\\r"), "")); //US QString groups() const { return find( Qtopia::Groups ); } //US QStringList groupList() const; //qDebug("SharpDTMConverter::sharpToAddressee please check that the categories will be converted" ); QArray<int> catArray = db->readCategories(); QString cat; for ( unsigned int i=0; i < catArray.size(); i++ ) { cat = catDB->label(catArray[i]); if ( cat.isEmpty() ) addr.insertCategory(QString::number(catArray[i])); else addr.insertCategory( cat ); } return true; } bool SharpDTMConverter::addresseeToSharp( const Addressee &addr, SlZDataBase* database , const CardId &contact ) { bool cellHome = false, cellWork = false; // name database->writeField(ZdbAdrs::LastName, addr.familyName()); database->writeField(ZdbAdrs::FirstName, addr.givenName()); database->writeField(ZdbAdrs::MiddleName, addr.additionalName()); database->writeField(ZdbAdrs::Title, addr.prefix()); database->writeField(ZdbAdrs::Suffix, addr.suffix()); //qDebug("SharpDTMConverter::addresseeToSharp check if the fileAs transformation works!!\n%s",addr.formattedName().latin1() ); QString formattedName = addr.formattedName(); if ( formattedName.isEmpty() ) { if ( !addr.familyName().isEmpty() ) { formattedName = addr.familyName(); if ( !addr.givenName().isEmpty() ) { formattedName += ", "; formattedName += addr.givenName(); } } else formattedName = addr.givenName(); } database->writeField(ZdbAdrs::FileAs, formattedName); database->writeField(ZdbAdrs::FullName, formattedName); // email //qDebug("SharpDTMConverter::addresseeToSharp check which seperator we need here for the emails!!"); //qDebug("SharpDTMConverter::addresseeToSharp its probably the same from sharpToAddressee"); QString emails = addr.emails().join(" "); database->writeField(ZdbAdrs::Emails, emails ); database->writeField(ZdbAdrs::DefaultEmail, addr.preferredEmail() ); // home const Address homeaddress = addr.address(Address::Home); database->writeField(ZdbAdrs::HomeStreet, homeaddress.street()); database->writeField(ZdbAdrs::HomeCity, homeaddress.locality()); database->writeField(ZdbAdrs::HomeState, homeaddress.region()); database->writeField(ZdbAdrs::HomeZip, homeaddress.postalCode()); database->writeField(ZdbAdrs::HomeCountry, homeaddress.country()); PhoneNumber homephone = addr.phoneNumber( PhoneNumber::Home ); database->writeField(ZdbAdrs::HomePhone, homephone.number()); PhoneNumber homefax = addr.phoneNumber( PhoneNumber::Home | PhoneNumber::Fax ); database->writeField(ZdbAdrs::HomeFax, homefax.number()); PhoneNumber homemobile = addr.phoneNumber( PhoneNumber::Home | PhoneNumber::Cell ); database->writeField(ZdbAdrs::HomeMobile, homemobile.number()); if (!homemobile.number().isEmpty()) { cellHome = true; } database->writeField(ZdbAdrs::HomeWebPage, addr.url().url()); // business const Address businessaddress = addr.address(Address::Work); //qDebug("write business address "); database->writeField(ZdbAdrs::BusinessStreet, businessaddress.street()); |