summaryrefslogtreecommitdiffabout
path: root/kabc
Side-by-side diff
Diffstat (limited to 'kabc') (more/less context) (show whitespace changes)
-rw-r--r--kabc/plugins/olaccess/olaccess.pro2
-rw-r--r--kabc/plugins/olaccess/olaccessconverter.cpp54
-rw-r--r--kabc/plugins/olaccess/olaccessconverter.h20
-rw-r--r--kabc/plugins/olaccess/resourceolaccess.cpp69
-rw-r--r--kabc/plugins/olaccess/resourceolaccess.h21
-rw-r--r--kabc/plugins/olaccess/resourceolaccessconfig.cpp24
-rw-r--r--kabc/plugins/olaccess/resourceolaccessconfig.h4
7 files changed, 94 insertions, 100 deletions
diff --git a/kabc/plugins/olaccess/olaccess.pro b/kabc/plugins/olaccess/olaccess.pro
index ca0a6a8..4416d0c 100644
--- a/kabc/plugins/olaccess/olaccess.pro
+++ b/kabc/plugins/olaccess/olaccess.pro
@@ -1,34 +1,34 @@
TEMPLATE = lib
CONFIG += qt warn_on
TARGET = microkabc_olaccess
include( ../../../variables.pri )
-INCLUDEPATH += ../.. ../../../microkde ../../../microkde/kdecore ../../../microkde/kio/kfile ../../../microkde/kio/kio ../../../microkde/kresources ../../../qtcompat
+INCLUDEPATH += ../../.. ../.. ../../../microkde ../../../microkde/kdecore ../../../microkde/kio/kfile ../../../microkde/kio/kio ../../../microkde/kresources ../../../qtcompat
INTERFACES = \
HEADERS = \
resourceolaccess.h \
resourceolaccessconfig.h \
olaccessconverter.h
SOURCES = \
resourceolaccess.cpp \
resourceolaccessconfig.cpp \
olaccessconverter.cpp
unix : {
OBJECTS_DIR = obj/unix
MOC_DIR = moc/unix
}
win32: {
CONFIG += dll
DEFINES += _WIN32_
OBJECTS_DIR = obj/win
MOC_DIR = moc/win
LIBS += ../../../bin/microkdepim.lib
LIBS += ../../../bin/microkcal.lib
LIBS += ../../../bin/microkde.lib
LIBS += ../../../bin/microkabc.lib
}
diff --git a/kabc/plugins/olaccess/olaccessconverter.cpp b/kabc/plugins/olaccess/olaccessconverter.cpp
index 4adcae4..e95f3cb 100644
--- a/kabc/plugins/olaccess/olaccessconverter.cpp
+++ b/kabc/plugins/olaccess/olaccessconverter.cpp
@@ -1,444 +1,446 @@
/*
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 <qregexp.h>
-#include "sharpdtmconverter.h"
+#include "olaccessconverter.h"
-#include <sl/slcategories.h>
#include <libkdepim/ksyncprofile.h>
//US #include <qpe/categoryselect.h>
using namespace KABC;
-using namespace SlCategory;
-SharpDTMConverter::SharpDTMConverter() : catDB(0)
+OlaccessConverter::OlaccessConverter()
{
}
-SharpDTMConverter::~SharpDTMConverter()
+OlaccessConverter::~OlaccessConverter()
{
deinit();
}
-bool SharpDTMConverter::init()
+bool OlaccessConverter::init()
{
+#if 0
catDB = new SlCategory::SlCategories();
if (!catDB)
return false;
// catDB->load( categoryFileName() );
+#endif
return true;
}
-void SharpDTMConverter::deinit()
+void OlaccessConverter::deinit()
{
+#if 0
if (catDB)
{
delete catDB;
catDB = 0;
}
+#endif
}
-
-bool SharpDTMConverter::sharpToAddressee( const CardId &contact, const SlZDataBase* database, Addressee &addr )
+#if 0
+bool OlaccessConverter::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!!");
+ //qDebug("OlaccessConverter::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());
+ //qDebug("OlaccessConverter::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.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).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.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");
+ //qDebug("OlaccessConverter::sharpToAddressee pleas check that gender works!! : Gender: %s", gen.latin1());
+ //qDebug("OlaccessConverter::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" );
+ //qDebug("OlaccessConverter::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 OlaccessConverter::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() );
+ //qDebug("OlaccessConverter::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");
+ //qDebug("OlaccessConverter::addresseeToSharp check which seperator we need here for the emails!!");
+ //qDebug("OlaccessConverter::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());
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 );
database->writeField(ZdbAdrs::BusinessPhone, businessphone.number());
PhoneNumber businessfax = addr.phoneNumber( PhoneNumber::Work | PhoneNumber::Fax );
database->writeField(ZdbAdrs::BusinessFax, businessfax.number());
PhoneNumber businessmobile = addr.phoneNumber( PhoneNumber::Work | PhoneNumber::Cell );
database->writeField(ZdbAdrs::BusinessMobile, businessmobile.number());
if (!businessmobile.number().isEmpty()) {
cellWork = true;
}
PhoneNumber mobile = addr.phoneNumber( PhoneNumber::Cell );
if (! mobile.number().isEmpty()) {
if ( ! cellHome )
database->writeField(ZdbAdrs::HomeMobile, mobile.number());
else if (! cellWork )
database->writeField(ZdbAdrs::BusinessMobile, mobile.number());
}
PhoneNumber businesspager = addr.phoneNumber( PhoneNumber::Work | PhoneNumber::Pager );
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");
+ //qDebug("OlaccessConverter::addresseeToSharp please check that gender works!! : Gender: %s", gt.latin1());
+ //qDebug("OlaccessConverter::addresseeToSharp: may be writeField(\"ZdbAdrs::Gender\", ushort) is here better suited?");
+ //qDebug("OlaccessConverter::addresseeToSharp: check also the reverse functionality in sharpToAddressee");
if (gt == "male")
database->writeField(ZdbAdrs::Gender, "1");
else if (gt == "female")
database->writeField(ZdbAdrs::Gender, "2");
else
database->writeField(ZdbAdrs::Gender, "");
QString dateS ;
QDate dt = KGlobal::locale()->readDate(addr.custom("KADDRESSBOOK", "X-Anniversary" ), "%Y-%m-%d"); // = Qt::ISODate
if ( dt.isValid() ) {
dateS = KGlobal::locale()->formatDate(dt, true );
}
database->writeField(ZdbAdrs::Anniversary, dateS );
database->writeField(ZdbAdrs::Children, addr.custom( "KADDRESSBOOK", "X-Children" ));
dt = addr.birthday().date();
dateS = "";
if ( dt.isValid() ) {
dateS = KGlobal::locale()->formatDate(dt, true );
}
database->writeField(ZdbAdrs::Birthday, dateS);
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");
+ //qDebug("OlaccessConverter::addresseeToSharp please check if category transformation works");
return true;
}
-bool SharpDTMConverter::setCategories( const Addressee &addr, SlZDataBase* database , const CardId &contact )
+bool OlaccessConverter::setCategories( const Addressee &addr, SlZDataBase* database , const CardId &contact )
{
QStringList list = addr.categories();
QArray<int> ids(list.count());
uint index = 0;
for(uint i=0; i<ids.size(); i++){
if(catDB->exists(list[i])){
ids[index] = catDB->id(list[i]);
//qDebug("set exist cat %d %s ",ids[index] , list[i].latin1());
index++;
} else {
ids[index] = catDB->addCategory(list[i]);
//qDebug("add new cat %d %s ",ids[index] , list[i].latin1());
index++;
}
}
bool res ;
if ( !(res = database->updateCategories(contact, ids) ))
- qDebug("SharpDTMConverter::Error updating categories");
+ qDebug("OlaccessConverter::Error updating categories");
return res;
}
-
-QDate SharpDTMConverter::convertDate( QString s)
+#endif
+QDate OlaccessConverter::convertDate( QString s)
{
QDate dt = KGlobal::locale()->readDate( s );
return dt;
return QDate ();
}
diff --git a/kabc/plugins/olaccess/olaccessconverter.h b/kabc/plugins/olaccess/olaccessconverter.h
index db1bf2d..48a255d 100644
--- a/kabc/plugins/olaccess/olaccessconverter.h
+++ b/kabc/plugins/olaccess/olaccessconverter.h
@@ -1,88 +1,82 @@
/*
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$
*/
#ifndef KABC_SHARPDTMCONVERTER_H
#define KABC_SHARPDTMCONVERTER_H
#include <qstring.h>
-#include <sl/slzdb.h>
#include "addressee.h"
-namespace SlCategory {
- class SlCategories;
-}
-
-class SlZDataBase;
namespace KABC {
-class SharpDTMConverter
+class OlaccessConverter
{
public:
/**
* Constructor.
*/
- SharpDTMConverter();
+ OlaccessConverter();
/**
* Destructor.
*/
- virtual ~SharpDTMConverter();
+ virtual ~OlaccessConverter();
bool init();
void deinit();
/**
* Converts a given sharp card to an addressee.
*
* @param contact The sharp card id, eventhough it might be 0, if the contact is a new one.
* @param database The sharp database pointer we use for the conversion
* @param addr The addressee.
*/
- bool sharpToAddressee( const CardId &contact, const SlZDataBase* database, Addressee &addr );
+ //bool sharpToAddressee( const CardId &contact, const SlZDataBase* database, Addressee &addr );
/**
* Converts an addressee to a sharp dtm contact.
*
* @param addr The addressee.
* @param database The sharp database pointer we use for the conversion
* @param contact The sharp card id, eventhough it might be 0, if the contact is a new one.
*/
- bool addresseeToSharp( const Addressee &addr, SlZDataBase* database , const CardId &contact );
- bool setCategories( const Addressee &addr, SlZDataBase* database , const CardId &contact );
+ //bool addresseeToSharp( const Addressee &addr, SlZDataBase* database , const CardId &contact );
+ //bool setCategories( const Addressee &addr, SlZDataBase* database , const CardId &contact );
private:
- SlCategory::SlCategories* catDB;
+ //SlCategory::SlCategories* catDB;
QDate convertDate( QString );
};
}
#endif
diff --git a/kabc/plugins/olaccess/resourceolaccess.cpp b/kabc/plugins/olaccess/resourceolaccess.cpp
index e8f8bdd..7113e0e 100644
--- a/kabc/plugins/olaccess/resourceolaccess.cpp
+++ b/kabc/plugins/olaccess/resourceolaccess.cpp
@@ -1,303 +1,304 @@
/*
This file is part of libkabc.
Copyright (c) 2004 Ulf Schenk
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 <sys/types.h>
#include <sys/stat.h>
-#include <unistd.h>
#include <qdir.h>
#include <qfile.h>
#include <qfileinfo.h>
#include <qregexp.h>
//US #include <qtimer.h>
#include <kapplication.h>
#include <kconfig.h>
#include <kdebug.h>
#include <klocale.h>
//US #include <ksavefile.h>
#include <kstandarddirs.h>
#include <kmessagebox.h>
-#include <sl/slzdb.h>
#include <libkdepim/ksyncprofile.h>
-#include "resourcesharpdtmconfig.h"
-#include "resourcesharpdtm.h"
+#include "resourceolaccessconfig.h"
+#include "resourceolaccess.h"
#include "stdaddressbook.h"
-#include "sharpdtmconverter.h"
+#include "olaccessconverter.h"
//#define ALLOW_LOCKING
using namespace KABC;
extern "C"
{
- void *init_microkabc_sharpdtm()
+ void *init_microkabc_olaccess()
{
- return new KRES::PluginFactory<ResourceSharpDTM,ResourceSharpDTMConfig>();
+ return new KRES::PluginFactory<Resourceolaccess,ResourceolaccessConfig>();
}
}
-ResourceSharpDTM::ResourceSharpDTM( const KConfig *config )
+Resourceolaccess::Resourceolaccess( const KConfig *config )
: Resource( config ), mConverter (0)
{
// we can not choose the filename. Therefore use the default to display
- mAccess = 0;
- QString fileName = SlZDataBase::addressbookFileName();
+ //mAccess = 0;
+ QString fileName;// = SlZDataBase::addressbookFileName();
init( fileName );
}
-ResourceSharpDTM::ResourceSharpDTM( const QString &fileName )
+Resourceolaccess::Resourceolaccess( const QString &fileName )
: Resource( 0 )
{
- mAccess = 0;
+ //mAccess = 0;
init( fileName );
}
-void ResourceSharpDTM::init( const QString &fileName )
+void Resourceolaccess::init( const QString &fileName )
{
if (mConverter == 0) {
- mConverter = new SharpDTMConverter();
+ mConverter = new OlaccessConverter();
bool res = mConverter->init();
if ( !res )
{
QString msg("Unable to initialize sharp converter. Most likely a problem with the category file");
qDebug(msg);
return;
}
}
setFileName( fileName );
}
-ResourceSharpDTM::~ResourceSharpDTM()
+Resourceolaccess::~Resourceolaccess()
{
if (mConverter != 0)
delete mConverter;
- if(mAccess != 0)
- delete mAccess;
+ //if(mAccess != 0)
+ //delete mAccess;
}
-void ResourceSharpDTM::writeConfig( KConfig *config )
+void Resourceolaccess::writeConfig( KConfig *config )
{
Resource::writeConfig( config );
}
-Ticket *ResourceSharpDTM::requestSaveTicket()
+Ticket *Resourceolaccess::requestSaveTicket()
{
- qDebug("ResourceSharpDTM::requestSaveTicket: %s", fileName().latin1());
+ qDebug("Resourceolaccess::requestSaveTicket: %s", fileName().latin1());
if ( !addressBook() ) return 0;
return createTicket( this );
}
-bool ResourceSharpDTM::doOpen()
+bool Resourceolaccess::doOpen()
{
if (!mConverter)
return false;
return true;
}
-void ResourceSharpDTM::doClose()
+void Resourceolaccess::doClose()
{
return;
}
-bool ResourceSharpDTM::load()
+bool Resourceolaccess::load()
{
if (!mConverter)
return false;
- QString fileN = SlZDataBase::addressbookFileName();
+ QString fileN ;//= SlZDataBase::addressbookFileName();
+#if 0
if ( ! mAccess ) {
mAccess = new SlZDataBase(fileN,
SlZDataBase::addressbookItems(),
0, true);
}
if(mAccess == 0)
return false;
- qDebug("ResourceSharpDTM:: %x load: %s",this, fileName().latin1());
+ qDebug("Resourceolaccess:: %x load: %s",this, fileName().latin1());
bool res = false;
CardId id;
for (bool res=mAccess->first(); res == true; res=mAccess->next())
{
id = mAccess->cardId();
KABC::Addressee addressee;
res = mConverter->sharpToAddressee( id, mAccess, addressee );
if ( !addressee.isEmpty() && res )
{
addressee.setResource( this );
addressBook()->insertAddressee( addressee );
}
}
if(mAccess != 0)
delete mAccess;
mAccess = 0;
-
+#endif
return true;
}
-bool ResourceSharpDTM::save( Ticket *ticket )
+bool Resourceolaccess::save( Ticket *ticket )
{
+#if 0
if (!mConverter)
return false;
QString fileN = SlZDataBase::addressbookFileName();
if ( ! mAccess ) {
mAccess = new SlZDataBase(fileN,
SlZDataBase::addressbookItems(),
0, false);
}
if(mAccess == 0)
return false;
- qDebug("ResourceSharpDTM::save: %s", fileName().latin1());
+ qDebug("Resourceolaccess::save: %s", fileName().latin1());
KABC::AddressBook::Iterator it;
bool res;
KABC::Addressee::List changedAddressees;
typedef QMap<int,QString> AddresseeMap;
AddresseeMap map;
CardId id ;
for ( it = addressBook()->begin(); it != addressBook()->end(); ++it ) {
if ( (*it).tempSyncStat() != SYNC_TEMPSTATE_NEW_EXTERNAL ) {
QString uid = (*it).originalExternalUID();
bool res;
if ( uid.isEmpty() )
id = 0;
else
id = uid.toUInt();
KABC::Addressee addressee = (*it);
if ( (*it).tempSyncStat() == SYNC_TEMPSTATE_ADDED_EXTERNAL ) {
res = mAccess->startEditCard(id);
if (res == true)
{
res = mConverter->addresseeToSharp( (*it), mAccess, id );
if (res == true)
{
res = mAccess->finishEditCard(&id);;
mConverter->setCategories( (*it), mAccess, id );
map.insert(id,(*it).uid());
if (res == false)
qDebug("Unable to append Contact: %s", addressee.formattedName().latin1());
}
else
{
qDebug("Unable to convert Addressee: %s", addressee.formattedName().latin1());
mAccess->cancelEditCard();
}
}
} else if ( (*it).tempSyncStat() == SYNC_TEMPSTATE_DELETE ) {
res = mAccess->deleteCard(&id);
if ( !res )
qDebug("delete error ");
} else if ( (*it).tempSyncStat() != SYNC_TEMPSTATE_NEW_EXTERNAL ) {
//changed
res = mAccess->startEditCard(id);
if (res == true)
{
res = mConverter->addresseeToSharp( (*it), mAccess, id );
if (res == true)
{
res = mAccess->finishEditCard(&id);
mConverter->setCategories( (*it), mAccess, id );
map.insert(id,(*it).uid());
if (res == false)
qDebug("Unable to append Contact: %s", addressee.formattedName().latin1());
}
else
{
qDebug("Unable to convert Addressee: %s", addressee.formattedName().latin1());
mAccess->cancelEditCard();
}
}
}
}
}
AddresseeMap::Iterator itam;
for ( res=mAccess->first(); res == true; res=mAccess->next())
{
id = mAccess->cardId();
int idint = id;
itam = map.find( idint );
if ( itam != map.end() ) {
KABC::Addressee addressee;
res = mConverter->sharpToAddressee( id, mAccess, addressee );
if ( !addressee.isEmpty() && res )
{
addressee.setResource( this );
addressee.setUid( itam.data() );
addressee.setTempSyncStat( SYNC_TEMPSTATE_NEW_ID );
addressBook()->insertAddressee( addressee , false );
}
}
}
delete ticket;
if(mAccess != 0)
delete mAccess;
mAccess = 0;
+#endif
return true;
}
-bool ResourceSharpDTM::lock( const QString &lockfileName )
+bool Resourceolaccess::lock( const QString &lockfileName )
{
return true;
}
-void ResourceSharpDTM::unlock( const QString &fileName )
+void Resourceolaccess::unlock( const QString &fileName )
{
}
-void ResourceSharpDTM::setFileName( const QString &newFileName )
+void Resourceolaccess::setFileName( const QString &newFileName )
{
Resource::setFileName( newFileName );
}
-void ResourceSharpDTM::fileChanged()
+void Resourceolaccess::fileChanged()
{
}
-void ResourceSharpDTM::removeAddressee( const Addressee &addr )
+void Resourceolaccess::removeAddressee( const Addressee &addr )
{
}
-void ResourceSharpDTM::cleanUp()
+void Resourceolaccess::cleanUp()
{
}
diff --git a/kabc/plugins/olaccess/resourceolaccess.h b/kabc/plugins/olaccess/resourceolaccess.h
index 64d06f9..0066331 100644
--- a/kabc/plugins/olaccess/resourceolaccess.h
+++ b/kabc/plugins/olaccess/resourceolaccess.h
@@ -1,146 +1,145 @@
/*
This file is part of libkabc.
Copyright (c) 2004 Ulf Schenk
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$
*/
-#ifndef KABC_RESOURCESHARPDTM_H
-#define KABC_RESOURCESHARPDTM_H
+
+
+#ifndef KABC_RESOURCEolaccess_H
+#define KABC_RESOURCEolaccess_H
#include <kconfig.h>
#include <kdirwatch.h>
#include <sys/types.h>
#include "resource.h"
-class SlZDataBase;
-
namespace KABC {
class ResourceConfigWidget;
-class SharpDTMConverter;
+class OlaccessConverter;
/**
@internal
*/
-class ResourceSharpDTM : public Resource
+class Resourceolaccess : public Resource
{
Q_OBJECT
public:
/**
Constructor.
@param cfg The config object where custom resource settings are stored.
*/
- ResourceSharpDTM( const KConfig *cfg );
+ Resourceolaccess( const KConfig *cfg );
/**
Construct file resource on file @arg fileName using format @arg formatName.
*/
- ResourceSharpDTM( const QString &fileName );
+ Resourceolaccess( const QString &fileName );
/**
* Destructor.
*/
- ~ResourceSharpDTM();
+ ~Resourceolaccess();
/**
Writes the config back.
*/
virtual void writeConfig( KConfig *cfg );
/**
* Tries to open the file and checks for the proper format.
* This method should be called before @ref load().
*/
virtual bool doOpen();
/**
* Closes the file again.
*/
virtual void doClose();
/**
* Requests a save ticket, that is used by @ref save()
*/
virtual Ticket *requestSaveTicket();
/**
* Loads all addressees from file to the address book.
* Returns true if all addressees could be loaded otherwise false.
*/
virtual bool load();
/**
* Saves all addresses from address book to file.
* Returns true if all addressees could be saved otherwise false.
*
* @param ticket The ticket returned by @ref requestSaveTicket()
*/
virtual bool save( Ticket *ticket );
/**
* Remove a addressee from its source.
* This method is mainly called by KABC::AddressBook.
*/
virtual void removeAddressee( const Addressee& addr );
/**
* Set name of file to be used for saving.
*/
virtual void setFileName( const QString & );
/**
* This method is called by an error handler if the application
* crashed
*/
virtual void cleanUp();
protected slots:
void fileChanged();
protected:
void init( const QString &fileName );
bool lock( const QString &fileName );
void unlock( const QString &fileName );
private:
- SlZDataBase* mAccess;
- SharpDTMConverter* mConverter;
+ OlaccessConverter* mConverter;
QString mLockUniqueName;
KDirWatch mDirWatch;
};
}
#endif
diff --git a/kabc/plugins/olaccess/resourceolaccessconfig.cpp b/kabc/plugins/olaccess/resourceolaccessconfig.cpp
index 240f1d7..1fcf1b8 100644
--- a/kabc/plugins/olaccess/resourceolaccessconfig.cpp
+++ b/kabc/plugins/olaccess/resourceolaccessconfig.cpp
@@ -1,108 +1,106 @@
/*
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 <qlabel.h>
#include <qlayout.h>
#include <kdebug.h>
#include <klocale.h>
#include <kstandarddirs.h>
#include <kdialog.h>
-#include <unistd.h>
#include <qdir.h>
#include <qfile.h>
-#include "resourcesharpdtm.h"
+#include "resourceolaccess.h"
-#include "resourcesharpdtmconfig.h"
+#include "resourceolaccessconfig.h"
-#include <sl/slzdb.h>
using namespace KABC;
-ResourceSharpDTMConfig::ResourceSharpDTMConfig( QWidget* parent, const char* name )
+ResourceolaccessConfig::ResourceolaccessConfig( QWidget* parent, const char* name )
: ConfigWidget( parent, name )
{
QGridLayout *mainLayout = new QGridLayout( this, 1, 2, 0,
KDialog::spacingHint() );
QLabel *label = new QLabel( i18n( "Location:" ), this );
mFileNameEdit = new KURLRequester( this );
connect( mFileNameEdit, SIGNAL( textChanged( const QString & ) ),
SLOT( checkFilePermissions( const QString & ) ) );
mainLayout->addWidget( label, 0, 0 );
mainLayout->addWidget( mFileNameEdit, 0, 1 );
}
-void ResourceSharpDTMConfig::loadSettings( KRES::Resource *res )
+void ResourceolaccessConfig::loadSettings( KRES::Resource *res )
{
//US ResourceFile *resource = dynamic_cast<ResourceFile*>( res );
- ResourceSharpDTM *resource = (ResourceSharpDTM*)( res );
+ Resourceolaccess *resource = (Resourceolaccess*)( res );
if ( !resource ) {
- kdDebug(5700) << "ResourceSharpDTMConfig::loadSettings(): cast failed" << endl;
+ kdDebug(5700) << "ResourceolaccessConfig::loadSettings(): cast failed" << endl;
return;
}
mFileNameEdit->setURL( resource->fileName() );
if ( mFileNameEdit->url().isEmpty() )
- mFileNameEdit->setURL( SlZDataBase::addressbookFileName() );
+ ;//mFileNameEdit->setURL( SlZDataBase::addressbookFileName() );
//US Sharp DTM resources are ReadOnly by definition
emit setPersistentReadOnly( true );
//US we can not choose the filename for the sharp backend => make it readonly.
mFileNameEdit->setEnabled( false );
}
-void ResourceSharpDTMConfig::saveSettings( KRES::Resource *res )
+void ResourceolaccessConfig::saveSettings( KRES::Resource *res )
{
//US ResourceFile *resource = dynamic_cast<ResourceFile*>( res );
- ResourceSharpDTM *resource = (ResourceSharpDTM*)( res );
+ Resourceolaccess *resource = (Resourceolaccess*)( res );
if ( !resource ) {
- kdDebug(5700) << "ResourceSharpDTMConfig::saveSettings(): cast failed" << endl;
+ kdDebug(5700) << "ResourceolaccessConfig::saveSettings(): cast failed" << endl;
return;
}
resource->setFileName( mFileNameEdit->url() );
}
-void ResourceSharpDTMConfig::checkFilePermissions( const QString& fileName )
+void ResourceolaccessConfig::checkFilePermissions( const QString& fileName )
{
// If file exist but is not writeable...
/*US
if ( access( QFile::encodeName( fileName ), F_OK ) == 0 )
emit setReadOnly( access( QFile::encodeName( fileName ), W_OK ) < 0 );
*/
}
diff --git a/kabc/plugins/olaccess/resourceolaccessconfig.h b/kabc/plugins/olaccess/resourceolaccessconfig.h
index 29765c8..38d47ba 100644
--- a/kabc/plugins/olaccess/resourceolaccessconfig.h
+++ b/kabc/plugins/olaccess/resourceolaccessconfig.h
@@ -1,58 +1,58 @@
/*
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$
*/
#ifndef RESOURCESHARPDTMCONFIG_H
#define RESOURCESHARPDTMCONFIG_H
#include <kurlrequester.h>
#include <kresources/configwidget.h>
namespace KABC {
-class ResourceSharpDTMConfig : public KRES::ConfigWidget
+class ResourceolaccessConfig : public KRES::ConfigWidget
{
Q_OBJECT
public:
- ResourceSharpDTMConfig( QWidget* parent = 0, const char* name = 0 );
+ ResourceolaccessConfig( QWidget* parent = 0, const char* name = 0 );
public slots:
void loadSettings( KRES::Resource *resource );
void saveSettings( KRES::Resource *resource );
protected slots:
void checkFilePermissions( const QString& fileName );
private:
KURLRequester* mFileNameEdit;
};
}
#endif