summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2004-10-29 19:40:20 (UTC)
committer zautrix <zautrix>2004-10-29 19:40:20 (UTC)
commita7e2fe5bb10af47a239b8b014a210568cc79287a (patch) (side-by-side diff)
treed3f77498134abc97bc48a376e148a8fd8565c6c3
parentb55890913f4c81bd2fc3719cf7c97e8ab1f47077 (diff)
downloadkdepimpi-a7e2fe5bb10af47a239b8b014a210568cc79287a.zip
kdepimpi-a7e2fe5bb10af47a239b8b014a210568cc79287a.tar.gz
kdepimpi-a7e2fe5bb10af47a239b8b014a210568cc79287a.tar.bz2
fixed dtm resource
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--kabc/plugins/sharpdtm/resourcesharpdtm.cpp66
1 files changed, 41 insertions, 25 deletions
diff --git a/kabc/plugins/sharpdtm/resourcesharpdtm.cpp b/kabc/plugins/sharpdtm/resourcesharpdtm.cpp
index 48b7d91..7069f5d 100644
--- a/kabc/plugins/sharpdtm/resourcesharpdtm.cpp
+++ b/kabc/plugins/sharpdtm/resourcesharpdtm.cpp
@@ -78,12 +78,22 @@ ResourceSharpDTM::ResourceSharpDTM( const QString &fileName )
mAccess = 0;
init( fileName );
}
void ResourceSharpDTM::init( const QString &fileName )
{
+ if (mConverter == 0) {
+ mConverter = new SharpDTMConverter();
+ 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()
{
if (mConverter != 0)
@@ -107,46 +117,35 @@ Ticket *ResourceSharpDTM::requestSaveTicket()
return createTicket( this );
}
bool ResourceSharpDTM::doOpen()
{
- qDebug("%xResourceSharpDTM::doOpen: %s", this,fileName().latin1());
-
- if ( ! mAccess ) {
- // the last parameter in the SlZDataBase constructor means "readonly"
- mAccess = new SlZDataBase(fileName(),
- SlZDataBase::addressbookItems(),
- NULL, false);
- }
- if ( !mAccess ) {
- qDebug("Unable to load file() %s", fileName().latin1());
+ if (!mConverter)
return false;
- }
- if (mConverter == 0) {
- mConverter = new SharpDTMConverter();
- bool res = mConverter->init();
- if ( !res )
- {
- QString msg("Unable to initialize sharp converter. Most likely a problem with the category file");
- qDebug(msg);
- delete mAccess;
- mAccess = 0;
- return false;
- }
- }
return true;
}
void ResourceSharpDTM::doClose()
{
return;
}
bool ResourceSharpDTM::load()
{
+ if (!mConverter)
+ return false;
+ QString fileN = SlZDataBase::addressbookFileName();
+ if ( ! mAccess ) {
+ mAccess = new SlZDataBase(fileN,
+ SlZDataBase::addressbookItems(),
+ 0, false);
+ }
+ if(mAccess == 0)
+ return false;
+
qDebug("%xResourceSharpDTM::load: %s",this, fileName().latin1());
bool res = false;
CardId id;
for (bool res=mAccess->first(); res == true; res=mAccess->next())
{
id = mAccess->cardId();
@@ -155,17 +154,31 @@ bool ResourceSharpDTM::load()
if ( !addressee.isEmpty() && res )
{
addressee.setResource( this );
addressBook()->insertAddressee( addressee );
}
}
+ if(mAccess != 0)
+ delete mAccess;
+ mAccess = 0;
+
return true;
}
bool ResourceSharpDTM::save( Ticket *ticket )
{
+ 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());
KABC::AddressBook::Iterator it;
bool res;
KABC::Addressee::List changedAddressees;
typedef QMap<int,QString> AddresseeMap;
AddresseeMap map;
@@ -246,18 +259,21 @@ bool ResourceSharpDTM::save( Ticket *ticket )
addressee.setTempSyncStat( SYNC_TEMPSTATE_NEW_ID );
addressBook()->insertAddressee( addressee , false );
}
}
}
delete ticket;
-
+ if(mAccess != 0)
+ delete mAccess;
+ mAccess = 0;
return true;
}
bool ResourceSharpDTM::lock( const QString &lockfileName )
{
+ return true;
}
void ResourceSharpDTM::unlock( const QString &fileName )
{
}
@@ -275,11 +291,11 @@ void ResourceSharpDTM::fileChanged()
void ResourceSharpDTM::removeAddressee( const Addressee &addr )
{
}
void ResourceSharpDTM::cleanUp()
{
- unlock( fileName() );
+
}