summaryrefslogtreecommitdiffabout
Side-by-side diff
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
@@ -82,4 +82,14 @@ ResourceSharpDTM::ResourceSharpDTM( const QString &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 );
}
@@ -111,28 +121,6 @@ Ticket *ResourceSharpDTM::requestSaveTicket()
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;
}
@@ -145,4 +133,15 @@ void ResourceSharpDTM::doClose()
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;
@@ -159,4 +158,8 @@ bool ResourceSharpDTM::load()
}
}
+ if(mAccess != 0)
+ delete mAccess;
+ mAccess = 0;
+
return true;
}
@@ -164,4 +167,14 @@ bool ResourceSharpDTM::load()
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;
@@ -250,5 +263,7 @@ bool ResourceSharpDTM::save( Ticket *ticket )
}
delete ticket;
-
+ if(mAccess != 0)
+ delete mAccess;
+ mAccess = 0;
return true;
}
@@ -256,4 +271,5 @@ bool ResourceSharpDTM::save( Ticket *ticket )
bool ResourceSharpDTM::lock( const QString &lockfileName )
{
+ return true;
}
@@ -279,5 +295,5 @@ void ResourceSharpDTM::removeAddressee( const Addressee &addr )
void ResourceSharpDTM::cleanUp()
{
- unlock( fileName() );
+
}