-rw-r--r-- | kabc/plugins/sharpdtm/resourcesharpdtm.cpp | 66 |
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 @@ -83,2 +83,12 @@ 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 ); @@ -112,26 +122,4 @@ 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; @@ -146,2 +134,13 @@ 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()); @@ -160,2 +159,6 @@ bool ResourceSharpDTM::load() } + if(mAccess != 0) + delete mAccess; + mAccess = 0; + return true; @@ -165,2 +168,12 @@ 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()); @@ -251,3 +264,5 @@ bool ResourceSharpDTM::save( Ticket *ticket ) delete ticket; - + if(mAccess != 0) + delete mAccess; + mAccess = 0; return true; @@ -257,2 +272,3 @@ bool ResourceSharpDTM::lock( const QString &lockfileName ) { + return true; } @@ -280,3 +296,3 @@ void ResourceSharpDTM::cleanUp() { - unlock( fileName() ); + } |