summaryrefslogtreecommitdiffabout
path: root/kabc/converter/sharpdtm/sharpdtmconverter.cpp
Side-by-side diff
Diffstat (limited to 'kabc/converter/sharpdtm/sharpdtmconverter.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/converter/sharpdtm/sharpdtmconverter.cpp384
1 files changed, 0 insertions, 384 deletions
diff --git a/kabc/converter/sharpdtm/sharpdtmconverter.cpp b/kabc/converter/sharpdtm/sharpdtmconverter.cpp
deleted file mode 100644
index 8f8334e..0000000
--- a/kabc/converter/sharpdtm/sharpdtmconverter.cpp
+++ b/dev/null
@@ -1,384 +0,0 @@
-/*
- This file is part of libkabc.
- Copyright (c) 2002 Tobias Koenig <tokoe@kde.org>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- 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 "sharpdtmconverter.h"
-
-#include <sl/slcategories.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;
- // name
- qDebug("SharpDTMConverter::sharpToAddressee check if the fileAs transformation works!!");
- addr.setFormattedName(db->readField(ZdbAdrs::FileAs));
-
- 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) );
-
-
- // email
- QString emailstr = db->readField(ZdbAdrs::Emails);
- qDebug("SharpDTMConverter::sharpToAddressee whats the character to seperate the emailadresses? %s ", emailstr.latin1());
- QStringList emails = QStringList::split(",", emailstr);
-
- for ( QStringList::Iterator it = emails.begin(); it != emails.end(); ++it ) {
- addr.insertEmail( *it, ((*it) == db->readField(ZdbAdrs::DefaultEmail)) );
- }
-
- 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) );
- 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.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.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) );
- 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.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.setNumber( db->readField(ZdbAdrs::BusinessMobile) );
- addr.insertPhoneNumber( businessmobile );
- }
-
- if (!db->readField(ZdbAdrs::BusinessPager).isEmpty())
- {
- PhoneNumber businesspager;
- businesspager.setType( PhoneNumber::Work | 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 == "male")
- addr.insertCustom( "KADDRESSBOOK", "X-Gender", "male");
- else if (gen == "female")
- addr.insertCustom( "KADDRESSBOOK", "X-Gender", "female");
-
-
- QDate ann = db->readDateField(ZdbAdrs::Anniversary);
-
- if (ann.isValid()) {
- QString dt = KGlobal::locale()->formatDate(ann, true, KLocale::ISODate);
-//US
-// qDebug("QtopiaConverter::qtopiaToAddressee found:%s", dt.latin1());
- addr.insertCustom( "KADDRESSBOOK", "X-Anniversary", dt);
- }
-
- addr.insertCustom( "KADDRESSBOOK", "X-Children", db->readField(ZdbAdrs::Children) );
-
-
- QDate birthd = db->readDateField(ZdbAdrs::Birthday);
- 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";
-
- addr.setNote( db->readField(ZdbAdrs::Notes) );
-
-
-
-//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 )
-{
- // 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!!");
- database->writeField(ZdbAdrs::FileAs, addr.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);
- if (!homeaddress.isEmpty()) {
- 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 );
- if (!homephone.number().isEmpty())
- database->writeField(ZdbAdrs::HomePhone, homephone.number());
-
- PhoneNumber homefax = addr.phoneNumber( PhoneNumber::Home | PhoneNumber::Fax );
- if (!homefax.number().isEmpty())
- database->writeField(ZdbAdrs::HomeFax, homefax.number());
-
- PhoneNumber homemobile = addr.phoneNumber( PhoneNumber::Home | PhoneNumber::Cell );
- if (!homemobile.number().isEmpty())
- database->writeField(ZdbAdrs::HomeMobile, homemobile.number());
-
- database->writeField(ZdbAdrs::HomeWebPage, addr.url().url());
-
-
- // business
- const Address businessaddress = addr.address(Address::Work);
- if (!businessaddress.isEmpty()) {
- database->writeField(ZdbAdrs::BusinessStreet, businessaddress.street());
- database->writeField(ZdbAdrs::BusinessCity, businessaddress.locality());
- database->writeField(ZdbAdrs::BusinessState, businessaddress.region());
- database->writeField(ZdbAdrs::BusinessZip, businessaddress.postalCode());
- database->writeField(ZdbAdrs::BusinessCountry, businessaddress.country());
- }
-
- PhoneNumber businessphone = addr.phoneNumber( PhoneNumber::Work );
- if (!businessphone.number().isEmpty())
- database->writeField(ZdbAdrs::BusinessPhone, businessphone.number());
-
- PhoneNumber businessfax = addr.phoneNumber( PhoneNumber::Work | PhoneNumber::Fax );
- if (!businessfax.number().isEmpty())
- database->writeField(ZdbAdrs::BusinessFax, businessfax.number());
-
- PhoneNumber businessmobile = addr.phoneNumber( PhoneNumber::Work | PhoneNumber::Cell );
- if (!businessmobile.number().isEmpty())
- database->writeField(ZdbAdrs::BusinessMobile, businessmobile.number());
-
- PhoneNumber businesspager = addr.phoneNumber( PhoneNumber::Work | PhoneNumber::Pager );
- if (!businesspager.number().isEmpty())
- database->writeField(ZdbAdrs::BusinessPager, businesspager.number());
-
- database->writeField(ZdbAdrs::JobTitle, addr.role());
- database->writeField(ZdbAdrs::Company, addr.organization());
-
- database->writeField(ZdbAdrs::Profession, addr.custom( "KADDRESSBOOK", "X-Profession" ));
- database->writeField(ZdbAdrs::Assistant, addr.custom( "KADDRESSBOOK", "X-AssistantsName" ));
- database->writeField(ZdbAdrs::Department, addr.custom( "KADDRESSBOOK", "X-Department" ));
- database->writeField(ZdbAdrs::Manager, addr.custom( "KADDRESSBOOK", "X-ManagersName" ));
- database->writeField(ZdbAdrs::Office, addr.custom( "KADDRESSBOOK", "X-Office" ));
-
- //personal
- database->writeField(ZdbAdrs::Spouse, addr.custom( "KADDRESSBOOK", "X-Spouse" ));
-
- QString gt = addr.custom( "KADDRESSBOOK", "X-Gender" );
- qDebug("SharpDTMConverter::addresseeToSharp please check that gender works!! : Gender: %s", gt.latin1());
- qDebug("SharpDTMConverter::addresseeToSharp: may be writeField(\"ZdbAdrs::Gender\", ushort) is here better suited?");
- qDebug("SharpDTMConverter::addresseeToSharp: check also the reverse functionality in sharpToAddressee");
- if (gt = "male")
- database->writeField(ZdbAdrs::Gender, "male");
- else if (gt = "female")
- database->writeField(ZdbAdrs::Gender, "female");
- else
- database->writeField(ZdbAdrs::Gender, "");
-
-
- QDate dt = KGlobal::locale()->readDate(
- addr.custom("KADDRESSBOOK", "X-Anniversary" ), "%Y-%m-%d"); // = Qt::ISODate
- database->writeField(ZdbAdrs::Anniversary, dt );
-
- database->writeField(ZdbAdrs::Children, addr.custom( "KADDRESSBOOK", "X-Children" ));
-
- database->writeField(ZdbAdrs::Birthday, addr.birthday().date());
- database->writeField(ZdbAdrs::Nickname, addr.nickName());
-
- // other
- database->writeField(ZdbAdrs::Notes, addr.note());
-
-//US QString groups() const { return find( Qtopia::Groups ); }
-//US QStringList groupList() const;
-
-
- qDebug("SharpDTMConverter::addresseeToSharp please check if category transformation works");
-
- QStringList cats = addr.categories();
- QArray<int> iar;
- if ( !cats.isEmpty() ) {
- QArray<int> iar = catDB->ids(cats);
- database->updateCategories(contact, iar);
- }
-
- return true;
-}