summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2004-10-29 19:40:20 (UTC)
committer zautrix <zautrix>2004-10-29 19:40:20 (UTC)
commita7e2fe5bb10af47a239b8b014a210568cc79287a (patch) (unidiff)
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 )
78 mAccess = 0; 78 mAccess = 0;
79 init( fileName ); 79 init( fileName );
80} 80}
81 81
82void ResourceSharpDTM::init( const QString &fileName ) 82void ResourceSharpDTM::init( const QString &fileName )
83{ 83{
84 if (mConverter == 0) {
85 mConverter = new SharpDTMConverter();
86 bool res = mConverter->init();
87 if ( !res )
88 {
89 QString msg("Unable to initialize sharp converter. Most likely a problem with the category file");
90 qDebug(msg);
91 return;
92 }
93 }
84 setFileName( fileName ); 94 setFileName( fileName );
85} 95}
86 96
87ResourceSharpDTM::~ResourceSharpDTM() 97ResourceSharpDTM::~ResourceSharpDTM()
88{ 98{
89 if (mConverter != 0) 99 if (mConverter != 0)
@@ -107,46 +117,35 @@ Ticket *ResourceSharpDTM::requestSaveTicket()
107 return createTicket( this ); 117 return createTicket( this );
108} 118}
109 119
110 120
111bool ResourceSharpDTM::doOpen() 121bool ResourceSharpDTM::doOpen()
112{ 122{
113 qDebug("%xResourceSharpDTM::doOpen: %s", this,fileName().latin1()); 123 if (!mConverter)
114
115 if ( ! mAccess ) {
116 // the last parameter in the SlZDataBase constructor means "readonly"
117 mAccess = new SlZDataBase(fileName(),
118 SlZDataBase::addressbookItems(),
119 NULL, false);
120 }
121 if ( !mAccess ) {
122 qDebug("Unable to load file() %s", fileName().latin1());
123 return false; 124 return false;
124 }
125 if (mConverter == 0) {
126 mConverter = new SharpDTMConverter();
127 bool res = mConverter->init();
128 if ( !res )
129 {
130 QString msg("Unable to initialize sharp converter. Most likely a problem with the category file");
131 qDebug(msg);
132 delete mAccess;
133 mAccess = 0;
134 return false;
135 }
136 }
137 return true; 125 return true;
138} 126}
139 127
140void ResourceSharpDTM::doClose() 128void ResourceSharpDTM::doClose()
141{ 129{
142 return; 130 return;
143} 131}
144 132
145bool ResourceSharpDTM::load() 133bool ResourceSharpDTM::load()
146{ 134{
135 if (!mConverter)
136 return false;
137 QString fileN = SlZDataBase::addressbookFileName();
138 if ( ! mAccess ) {
139 mAccess = new SlZDataBase(fileN,
140 SlZDataBase::addressbookItems(),
141 0, false);
142 }
143 if(mAccess == 0)
144 return false;
145
147 qDebug("%xResourceSharpDTM::load: %s",this, fileName().latin1()); 146 qDebug("%xResourceSharpDTM::load: %s",this, fileName().latin1());
148 bool res = false; 147 bool res = false;
149 CardId id; 148 CardId id;
150 for (bool res=mAccess->first(); res == true; res=mAccess->next()) 149 for (bool res=mAccess->first(); res == true; res=mAccess->next())
151 { 150 {
152 id = mAccess->cardId(); 151 id = mAccess->cardId();
@@ -155,17 +154,31 @@ bool ResourceSharpDTM::load()
155 if ( !addressee.isEmpty() && res ) 154 if ( !addressee.isEmpty() && res )
156 { 155 {
157 addressee.setResource( this ); 156 addressee.setResource( this );
158 addressBook()->insertAddressee( addressee ); 157 addressBook()->insertAddressee( addressee );
159 } 158 }
160 } 159 }
160 if(mAccess != 0)
161 delete mAccess;
162 mAccess = 0;
163
161 return true; 164 return true;
162} 165}
163 166
164bool ResourceSharpDTM::save( Ticket *ticket ) 167bool ResourceSharpDTM::save( Ticket *ticket )
165{ 168{
169 if (!mConverter)
170 return false;
171 QString fileN = SlZDataBase::addressbookFileName();
172 if ( ! mAccess ) {
173 mAccess = new SlZDataBase(fileN,
174 SlZDataBase::addressbookItems(),
175 0, false);
176 }
177 if(mAccess == 0)
178 return false;
166 qDebug("ResourceSharpDTM::save: %s", fileName().latin1()); 179 qDebug("ResourceSharpDTM::save: %s", fileName().latin1());
167 KABC::AddressBook::Iterator it; 180 KABC::AddressBook::Iterator it;
168 bool res; 181 bool res;
169 KABC::Addressee::List changedAddressees; 182 KABC::Addressee::List changedAddressees;
170 typedef QMap<int,QString> AddresseeMap; 183 typedef QMap<int,QString> AddresseeMap;
171 AddresseeMap map; 184 AddresseeMap map;
@@ -246,18 +259,21 @@ bool ResourceSharpDTM::save( Ticket *ticket )
246 addressee.setTempSyncStat( SYNC_TEMPSTATE_NEW_ID ); 259 addressee.setTempSyncStat( SYNC_TEMPSTATE_NEW_ID );
247 addressBook()->insertAddressee( addressee , false ); 260 addressBook()->insertAddressee( addressee , false );
248 } 261 }
249 } 262 }
250 } 263 }
251 delete ticket; 264 delete ticket;
252 265 if(mAccess != 0)
266 delete mAccess;
267 mAccess = 0;
253 return true; 268 return true;
254} 269}
255 270
256bool ResourceSharpDTM::lock( const QString &lockfileName ) 271bool ResourceSharpDTM::lock( const QString &lockfileName )
257{ 272{
273 return true;
258} 274}
259 275
260void ResourceSharpDTM::unlock( const QString &fileName ) 276void ResourceSharpDTM::unlock( const QString &fileName )
261{ 277{
262 278
263} 279}
@@ -275,11 +291,11 @@ void ResourceSharpDTM::fileChanged()
275void ResourceSharpDTM::removeAddressee( const Addressee &addr ) 291void ResourceSharpDTM::removeAddressee( const Addressee &addr )
276{ 292{
277} 293}
278 294
279void ResourceSharpDTM::cleanUp() 295void ResourceSharpDTM::cleanUp()
280{ 296{
281 unlock( fileName() ); 297
282} 298}
283 299
284 300
285 301