summaryrefslogtreecommitdiffabout
path: root/kabc/plugins
authorulf69 <ulf69>2004-08-03 20:49:15 (UTC)
committer ulf69 <ulf69>2004-08-03 20:49:15 (UTC)
commitbe52d7d03e57620919b23cb0cbb33ac22d0920e0 (patch) (unidiff)
tree34e8e29a221c828424126694f865d702c7635f97 /kabc/plugins
parentd5358380edce9a2c39f3eea4df741a148338880c (diff)
downloadkdepimpi-be52d7d03e57620919b23cb0cbb33ac22d0920e0.zip
kdepimpi-be52d7d03e57620919b23cb0cbb33ac22d0920e0.tar.gz
kdepimpi-be52d7d03e57620919b23cb0cbb33ac22d0920e0.tar.bz2
hopefully last modifications of resource based export/import functionality
for opie, qtopia and sharpdtm
Diffstat (limited to 'kabc/plugins') (more/less context) (show whitespace changes)
-rw-r--r--kabc/plugins/opie/resourceopie.cpp39
-rw-r--r--kabc/plugins/opie/resourceopie.h10
-rw-r--r--kabc/plugins/qtopia/resourceqtopia.cpp49
-rw-r--r--kabc/plugins/qtopia/resourceqtopia.h10
-rw-r--r--kabc/plugins/sharpdtm/resourcesharpdtm.cpp30
-rw-r--r--kabc/plugins/sharpdtm/resourcesharpdtm.h10
6 files changed, 17 insertions, 131 deletions
diff --git a/kabc/plugins/opie/resourceopie.cpp b/kabc/plugins/opie/resourceopie.cpp
index 5559827..9dfd473 100644
--- a/kabc/plugins/opie/resourceopie.cpp
+++ b/kabc/plugins/opie/resourceopie.cpp
@@ -66,48 +66,49 @@ extern "C"
66} 66}
67 67
68ResourceOpie::ResourceOpie( const KConfig *config, bool syncable ) 68ResourceOpie::ResourceOpie( const KConfig *config, bool syncable )
69 : Resource( config, syncable ), mAccess(0), mConverter (0) 69 : Resource( config, syncable ), mAccess(0), mConverter (0)
70{ 70{
71 QString fileName = QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml"; 71 QString fileName = QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml";
72 72
73 KConfig *cfg = (KConfig *)config; 73 KConfig *cfg = (KConfig *)config;
74 if ( cfg ) { 74 if ( cfg ) {
75 fileName = cfg->readEntry( "FileName", fileName ); 75 fileName = cfg->readEntry( "FileName", fileName );
76 76
77 } 77 }
78 78
79 init( fileName ); 79 init( fileName );
80} 80}
81 81
82ResourceOpie::ResourceOpie( const QString &fileName, bool syncable ) 82ResourceOpie::ResourceOpie( const QString &fileName, bool syncable )
83 : Resource( 0, syncable ) 83 : Resource( 0, syncable )
84{ 84{
85 init( fileName ); 85 init( fileName );
86} 86}
87 87
88void ResourceOpie::init( const QString &fileName ) 88void ResourceOpie::init( const QString &fileName )
89{ 89{
90 qDebug("ResourceOpie::init()");
90 91
91 connect( &mDirWatch, SIGNAL( dirty(const QString&) ), SLOT( fileChanged() ) ); 92 connect( &mDirWatch, SIGNAL( dirty(const QString&) ), SLOT( fileChanged() ) );
92 connect( &mDirWatch, SIGNAL( created(const QString&) ), SLOT( fileChanged() ) ); 93 connect( &mDirWatch, SIGNAL( created(const QString&) ), SLOT( fileChanged() ) );
93 connect( &mDirWatch, SIGNAL( deleted(const QString&) ), SLOT( fileChanged() ) ); 94 connect( &mDirWatch, SIGNAL( deleted(const QString&) ), SLOT( fileChanged() ) );
94 95
95 setFileName( fileName ); 96 setFileName( fileName );
96} 97}
97 98
98ResourceOpie::~ResourceOpie() 99ResourceOpie::~ResourceOpie()
99{ 100{
100 if (mConverter != 0) 101 if (mConverter != 0)
101 delete mConverter; 102 delete mConverter;
102 103
103 if(mAccess != 0) 104 if(mAccess != 0)
104 delete mAccess; 105 delete mAccess;
105} 106}
106 107
107void ResourceOpie::writeConfig( KConfig *config ) 108void ResourceOpie::writeConfig( KConfig *config )
108{ 109{
109 Resource::writeConfig( config ); 110 Resource::writeConfig( config );
110 111
111 config->writeEntry( "FileName", fileName() ); 112 config->writeEntry( "FileName", fileName() );
112} 113}
113 114
@@ -233,49 +234,53 @@ bool ResourceOpie::save( Ticket *ticket )
233 } 234 }
234 235
235 mAccess->save(); 236 mAccess->save();
236 237
237 delete ticket; 238 delete ticket;
238 unlock( fileName() ); 239 unlock( fileName() );
239 240
240 return true; 241 return true;
241 242
242} 243}
243 244
244bool ResourceOpie::lock( const QString &lockfileName ) 245bool ResourceOpie::lock( const QString &lockfileName )
245{ 246{
246 qDebug("ResourceOpie::lock: %s", fileName().latin1()); 247 qDebug("ResourceOpie::lock: %s", fileName().latin1());
247 248
248 kdDebug(5700) << "ResourceOpie::lock()" << endl; 249 kdDebug(5700) << "ResourceOpie::lock()" << endl;
249 250
250 QString fn = lockfileName; 251 QString fn = lockfileName;
251 252
252 KURL url(fn); 253 KURL url(fn);
253 QString lockName = locateLocal( "data", "kabc/lock/" + url.fileName() + ".lock" ); 254 QString lockName = locateLocal( "data", "kabc/lock/" + url.fileName() + ".lock" );
254 255
255 kdDebug(5700) << "-- lock name: " << lockName << endl; 256 kdDebug(5700) << "-- lock name: " << lockName << endl;
256 257
257 if (QFile::exists( lockName )) return false; 258 if (QFile::exists( lockName ))
259 {
260 qDebug("ResourceOpie::lock: lockfile %s already exists. (Delete it before continuing if nobody else is accessing the resourcefile %s)", lockName.latin1(), fileName().latin1());
261 return false;
262 }
258 263
259 QString lockUniqueName; 264 QString lockUniqueName;
260 lockUniqueName = fn + KApplication::randomString( 8 ); 265 lockUniqueName = fn + KApplication::randomString( 8 );
261 266
262 url = lockUniqueName; 267 url = lockUniqueName;
263//US mLockUniqueName = locateLocal( "data", "kabc/lock/" + lockUniqueName ); 268//US mLockUniqueName = locateLocal( "data", "kabc/lock/" + lockUniqueName );
264 mLockUniqueName = locateLocal( "data", "kabc/lock/" + url.fileName() ); 269 mLockUniqueName = locateLocal( "data", "kabc/lock/" + url.fileName() );
265 kdDebug(5700) << "-- lock unique name: " << mLockUniqueName << endl; 270 kdDebug(5700) << "-- lock unique name: " << mLockUniqueName << endl;
266 271
267 // Create unique file 272 // Create unique file
268 QFile file( mLockUniqueName ); 273 QFile file( mLockUniqueName );
269 file.open( IO_WriteOnly ); 274 file.open( IO_WriteOnly );
270 file.close(); 275 file.close();
271 276
272 // Create lock file 277 // Create lock file
273 int result = 0; 278 int result = 0;
274#ifndef _WIN32_ 279#ifndef _WIN32_
275 result = ::link( QFile::encodeName( mLockUniqueName ), 280 result = ::link( QFile::encodeName( mLockUniqueName ),
276 QFile::encodeName( lockName ) ); 281 QFile::encodeName( lockName ) );
277#endif 282#endif
278 if ( result == 0 ) { 283 if ( result == 0 ) {
279 addressBook()->emitAddressBookLocked(); 284 addressBook()->emitAddressBookLocked();
280 return true; 285 return true;
281 } 286 }
@@ -319,57 +324,25 @@ void ResourceOpie::fileChanged()
319 return; 324 return;
320 325
321 QString text( i18n( "Opie resource '%1'<br> has been changed by third party.<br>Do you want to reload?").arg( fileName() ) ); 326 QString text( i18n( "Opie resource '%1'<br> has been changed by third party.<br>Do you want to reload?").arg( fileName() ) );
322 if ( readOnly() || KMessageBox::questionYesNo( 0, text ) == KMessageBox::Yes ) { 327 if ( readOnly() || KMessageBox::questionYesNo( 0, text ) == KMessageBox::Yes ) {
323 load(); 328 load();
324 addressBook()->emitAddressBookChanged(); 329 addressBook()->emitAddressBookChanged();
325 } 330 }
326 331
327 load(); 332 load();
328 addressBook()->emitAddressBookChanged(); 333 addressBook()->emitAddressBookChanged();
329} 334}
330 335
331void ResourceOpie::removeAddressee( const Addressee &addr ) 336void ResourceOpie::removeAddressee( const Addressee &addr )
332{ 337{
333} 338}
334 339
335void ResourceOpie::cleanUp() 340void ResourceOpie::cleanUp()
336{ 341{
337// qDebug("ResourceOpie::cleanup() %s", mFileName.latin1()); 342// qDebug("ResourceOpie::cleanup() %s", mFileName.latin1());
338 343
339 unlock( fileName() ); 344 unlock( fileName() );
340} 345}
341 346
342 347
343/**
344 * This method returns the number of elements that are currently in the resource.
345 */
346int ResourceOpie::count() const
347{
348 qDebug("ResourceOpie::count: %x", mAccess);
349
350 if (mAccess != 0)
351 {
352 OContactAccess::List contactList = mAccess->allRecords();
353 return contactList.count();
354 }
355 else
356 return 0;
357}
358
359
360/**
361 * This method removes all elements from the resource!! (Not from the addressbook)
362 */
363bool ResourceOpie::clear()
364{
365 if (mAccess != 0) {
366 mAccess->clear();
367 return true;
368 }
369 else
370 return false;
371}
372
373
374
375//US #include "resourceopie.moc" 348//US #include "resourceopie.moc"
diff --git a/kabc/plugins/opie/resourceopie.h b/kabc/plugins/opie/resourceopie.h
index ca30fee..d5b4ebd 100644
--- a/kabc/plugins/opie/resourceopie.h
+++ b/kabc/plugins/opie/resourceopie.h
@@ -101,56 +101,46 @@ public:
101 * Returns true if all addressees could be saved otherwise false. 101 * Returns true if all addressees could be saved otherwise false.
102 * 102 *
103 * @param ticket The ticket returned by @ref requestSaveTicket() 103 * @param ticket The ticket returned by @ref requestSaveTicket()
104 */ 104 */
105 virtual bool save( Ticket *ticket ); 105 virtual bool save( Ticket *ticket );
106 106
107 107
108 /** 108 /**
109 * Remove a addressee from its source. 109 * Remove a addressee from its source.
110 * This method is mainly called by KABC::AddressBook. 110 * This method is mainly called by KABC::AddressBook.
111 */ 111 */
112 virtual void removeAddressee( const Addressee& addr ); 112 virtual void removeAddressee( const Addressee& addr );
113 113
114 /** 114 /**
115 * Set name of file to be used for saving. 115 * Set name of file to be used for saving.
116 */ 116 */
117 virtual void setFileName( const QString & ); 117 virtual void setFileName( const QString & );
118 118
119 /** 119 /**
120 * This method is called by an error handler if the application 120 * This method is called by an error handler if the application
121 * crashed 121 * crashed
122 */ 122 */
123 virtual void cleanUp(); 123 virtual void cleanUp();
124 124
125 /**
126 * This method returns the number of elements that are currently in the resource.
127 */
128 virtual int count() const;
129
130 /**
131 * This method removes all elements from the resource!! (Not from the addressbook)
132 */
133 virtual bool clear();
134
135 125
136protected slots: 126protected slots:
137 void fileChanged(); 127 void fileChanged();
138 128
139protected: 129protected:
140 void init( const QString &fileName ); 130 void init( const QString &fileName );
141 131
142 bool lock( const QString &fileName ); 132 bool lock( const QString &fileName );
143 void unlock( const QString &fileName ); 133 void unlock( const QString &fileName );
144 134
145private: 135private:
146 OContactAccess* mAccess; 136 OContactAccess* mAccess;
147 OpieConverter* mConverter; 137 OpieConverter* mConverter;
148 138
149 QString mLockUniqueName; 139 QString mLockUniqueName;
150 140
151 KDirWatch mDirWatch; 141 KDirWatch mDirWatch;
152}; 142};
153 143
154} 144}
155 145
156#endif 146#endif
diff --git a/kabc/plugins/qtopia/resourceqtopia.cpp b/kabc/plugins/qtopia/resourceqtopia.cpp
index 4a35f19..242e0c6 100644
--- a/kabc/plugins/qtopia/resourceqtopia.cpp
+++ b/kabc/plugins/qtopia/resourceqtopia.cpp
@@ -212,49 +212,53 @@ bool ResourceQtopia::save( Ticket *ticket )
212 } 212 }
213 } 213 }
214 214
215// mAccess->addressBookUpdated(); 215// mAccess->addressBookUpdated();
216 216
217 delete ticket; 217 delete ticket;
218 unlock( fileName() ); 218 unlock( fileName() );
219 219
220 return true; 220 return true;
221} 221}
222 222
223bool ResourceQtopia::lock( const QString &lockfileName ) 223bool ResourceQtopia::lock( const QString &lockfileName )
224{ 224{
225 qDebug("ResourceQtopia::lock: %s", fileName().latin1()); 225 qDebug("ResourceQtopia::lock: %s", fileName().latin1());
226 226
227 kdDebug(5700) << "ResourceQtopia::lock()" << endl; 227 kdDebug(5700) << "ResourceQtopia::lock()" << endl;
228 228
229 QString fn = lockfileName; 229 QString fn = lockfileName;
230 230
231 KURL url(fn); 231 KURL url(fn);
232 QString lockName = locateLocal( "data", "kabc/lock/" + url.fileName() + ".lock" ); 232 QString lockName = locateLocal( "data", "kabc/lock/" + url.fileName() + ".lock" );
233 233
234 kdDebug(5700) << "-- lock name: " << lockName << endl; 234 kdDebug(5700) << "-- lock name: " << lockName << endl;
235 235
236 if (QFile::exists( lockName )) return false; 236 if (QFile::exists( lockName ))
237 {
238 qDebug("ResourceOpie::lock: lockfile %s already exists. (Delete it before continuing if nobody else is accessing the resourcefile %s)", lockName.latin1(), fileName());
239 return false;
240 }
237 241
238 QString lockUniqueName; 242 QString lockUniqueName;
239 lockUniqueName = fn + KApplication::randomString( 8 ); 243 lockUniqueName = fn + KApplication::randomString( 8 );
240 244
241 url = lockUniqueName; 245 url = lockUniqueName;
242//US mLockUniqueName = locateLocal( "data", "kabc/lock/" + lockUniqueName ); 246//US mLockUniqueName = locateLocal( "data", "kabc/lock/" + lockUniqueName );
243 mLockUniqueName = locateLocal( "data", "kabc/lock/" + url.fileName() ); 247 mLockUniqueName = locateLocal( "data", "kabc/lock/" + url.fileName() );
244 kdDebug(5700) << "-- lock unique name: " << mLockUniqueName << endl; 248 kdDebug(5700) << "-- lock unique name: " << mLockUniqueName << endl;
245 249
246 // Create unique file 250 // Create unique file
247 QFile file( mLockUniqueName ); 251 QFile file( mLockUniqueName );
248 file.open( IO_WriteOnly ); 252 file.open( IO_WriteOnly );
249 file.close(); 253 file.close();
250 254
251 // Create lock file 255 // Create lock file
252 int result = 0; 256 int result = 0;
253#ifndef _WIN32_ 257#ifndef _WIN32_
254 result = ::link( QFile::encodeName( mLockUniqueName ), 258 result = ::link( QFile::encodeName( mLockUniqueName ),
255 QFile::encodeName( lockName ) ); 259 QFile::encodeName( lockName ) );
256#endif 260#endif
257 if ( result == 0 ) { 261 if ( result == 0 ) {
258 addressBook()->emitAddressBookLocked(); 262 addressBook()->emitAddressBookLocked();
259 return true; 263 return true;
260 } 264 }
@@ -291,68 +295,25 @@ void ResourceQtopia::setFileName( const QString &newFileName )
291 295
292void ResourceQtopia::fileChanged() 296void ResourceQtopia::fileChanged()
293{ 297{
294 // There is a small theoretical chance that KDirWatch calls us before 298 // There is a small theoretical chance that KDirWatch calls us before
295 // we are fully constructed 299 // we are fully constructed
296 if (!addressBook()) 300 if (!addressBook())
297 return; 301 return;
298 302
299 QString text( i18n( "Qtopia resource '%1'<br> has been changed by third party.<br>Do you want to reload?").arg( fileName() ) ); 303 QString text( i18n( "Qtopia resource '%1'<br> has been changed by third party.<br>Do you want to reload?").arg( fileName() ) );
300 if ( readOnly() || KMessageBox::questionYesNo( 0, text ) == KMessageBox::Yes ) { 304 if ( readOnly() || KMessageBox::questionYesNo( 0, text ) == KMessageBox::Yes ) {
301 load(); 305 load();
302 addressBook()->emitAddressBookChanged(); 306 addressBook()->emitAddressBookChanged();
303 } 307 }
304} 308}
305 309
306void ResourceQtopia::removeAddressee( const Addressee &addr ) 310void ResourceQtopia::removeAddressee( const Addressee &addr )
307{ 311{
308} 312}
309 313
310void ResourceQtopia::cleanUp() 314void ResourceQtopia::cleanUp()
311{ 315{
312 unlock( fileName() ); 316 unlock( fileName() );
313} 317}
314 318
315
316
317/**
318 * This method returns the number of elements that are currently in the resource.
319 */
320int ResourceQtopia::count() const
321{
322 if (mAccess != 0)
323 {
324 int counter = 0;
325 AddressBookIterator it2(*mAccess);
326 for (it2.toFirst(); it2.current(); ++it2) {
327 counter++;
328 }
329
330 return counter;
331 }
332 else
333 return 0;
334}
335
336
337/**
338 * This method removes all elements from the resource!! (Not from the addressbook)
339 */
340bool ResourceQtopia::clear()
341{
342 if (mAccess != 0)
343 {
344 AddressBookIterator it2(*mAccess);
345 for (it2.toFirst(); it2.current(); ++it2) {
346 mAccess->removeContact(*it2.current());
347 }
348 return true;
349 }
350 else
351 return false;
352}
353
354
355
356
357
358//US #include "resourceqtopia.moc" 319//US #include "resourceqtopia.moc"
diff --git a/kabc/plugins/qtopia/resourceqtopia.h b/kabc/plugins/qtopia/resourceqtopia.h
index 90ab1f4..eace280 100644
--- a/kabc/plugins/qtopia/resourceqtopia.h
+++ b/kabc/plugins/qtopia/resourceqtopia.h
@@ -101,55 +101,45 @@ public:
101 * Saves all addresses from address book to file. 101 * Saves all addresses from address book to file.
102 * Returns true if all addressees could be saved otherwise false. 102 * Returns true if all addressees could be saved otherwise false.
103 * 103 *
104 * @param ticket The ticket returned by @ref requestSaveTicket() 104 * @param ticket The ticket returned by @ref requestSaveTicket()
105 */ 105 */
106 virtual bool save( Ticket *ticket ); 106 virtual bool save( Ticket *ticket );
107 107
108 /** 108 /**
109 * Remove a addressee from its source. 109 * Remove a addressee from its source.
110 * This method is mainly called by KABC::AddressBook. 110 * This method is mainly called by KABC::AddressBook.
111 */ 111 */
112 virtual void removeAddressee( const Addressee& addr ); 112 virtual void removeAddressee( const Addressee& addr );
113 113
114 /** 114 /**
115 * Set name of file to be used for saving. 115 * Set name of file to be used for saving.
116 */ 116 */
117 virtual void setFileName( const QString & ); 117 virtual void setFileName( const QString & );
118 118
119 /** 119 /**
120 * This method is called by an error handler if the application 120 * This method is called by an error handler if the application
121 * crashed 121 * crashed
122 */ 122 */
123 virtual void cleanUp(); 123 virtual void cleanUp();
124 124
125 /**
126 * This method returns the number of elements that are currently in the resource.
127 */
128 virtual int count() const;
129
130 /**
131 * This method removes all elements from the resource!! (Not from the addressbook)
132 */
133 virtual bool clear();
134
135protected slots: 125protected slots:
136 void fileChanged(); 126 void fileChanged();
137 127
138protected: 128protected:
139 void init( const QString &fileName ); 129 void init( const QString &fileName );
140 130
141 bool lock( const QString &fileName ); 131 bool lock( const QString &fileName );
142 void unlock( const QString &fileName ); 132 void unlock( const QString &fileName );
143 133
144private: 134private:
145 AddressBookAccess* mAccess; 135 AddressBookAccess* mAccess;
146 QtopiaConverter* mConverter; 136 QtopiaConverter* mConverter;
147 137
148 QString mLockUniqueName; 138 QString mLockUniqueName;
149 139
150 KDirWatch mDirWatch; 140 KDirWatch mDirWatch;
151}; 141};
152 142
153} 143}
154 144
155#endif 145#endif
diff --git a/kabc/plugins/sharpdtm/resourcesharpdtm.cpp b/kabc/plugins/sharpdtm/resourcesharpdtm.cpp
index 14f272d..70c3718 100644
--- a/kabc/plugins/sharpdtm/resourcesharpdtm.cpp
+++ b/kabc/plugins/sharpdtm/resourcesharpdtm.cpp
@@ -228,49 +228,54 @@ bool ResourceSharpDTM::save( Ticket *ticket )
228 228
229 } 229 }
230 230
231//US mAccess->save(); 231//US mAccess->save();
232 232
233 delete ticket; 233 delete ticket;
234 unlock( fileName() ); 234 unlock( fileName() );
235 235
236 return true; 236 return true;
237} 237}
238 238
239bool ResourceSharpDTM::lock( const QString &lockfileName ) 239bool ResourceSharpDTM::lock( const QString &lockfileName )
240{ 240{
241 qDebug("ResourceSharpDTM::lock: %s", fileName().latin1()); 241 qDebug("ResourceSharpDTM::lock: %s", fileName().latin1());
242 242
243 kdDebug(5700) << "ResourceSharpDTM::lock()" << endl; 243 kdDebug(5700) << "ResourceSharpDTM::lock()" << endl;
244 244
245 QString fn = lockfileName; 245 QString fn = lockfileName;
246 246
247 KURL url(fn); 247 KURL url(fn);
248 QString lockName = locateLocal( "data", "kabc/lock/" + url.fileName() + ".lock" ); 248 QString lockName = locateLocal( "data", "kabc/lock/" + url.fileName() + ".lock" );
249 249
250 kdDebug(5700) << "-- lock name: " << lockName << endl; 250 kdDebug(5700) << "-- lock name: " << lockName << endl;
251 251
252 if (QFile::exists( lockName )) return false; 252 if (QFile::exists( lockName ))
253 {
254 qDebug("ResourceSharpDTM::lock: lockfile %s already exists. (Delete it before continuing if nobody else is accessing the resourcefile %s)", lockName.latin1(), fileName());
255 return false;
256 }
257
253 258
254 QString lockUniqueName; 259 QString lockUniqueName;
255 lockUniqueName = fn + KApplication::randomString( 8 ); 260 lockUniqueName = fn + KApplication::randomString( 8 );
256 261
257 url = lockUniqueName; 262 url = lockUniqueName;
258//US mLockUniqueName = locateLocal( "data", "kabc/lock/" + lockUniqueName ); 263//US mLockUniqueName = locateLocal( "data", "kabc/lock/" + lockUniqueName );
259 mLockUniqueName = locateLocal( "data", "kabc/lock/" + url.fileName() ); 264 mLockUniqueName = locateLocal( "data", "kabc/lock/" + url.fileName() );
260 kdDebug(5700) << "-- lock unique name: " << mLockUniqueName << endl; 265 kdDebug(5700) << "-- lock unique name: " << mLockUniqueName << endl;
261 266
262 // Create unique file 267 // Create unique file
263 QFile file( mLockUniqueName ); 268 QFile file( mLockUniqueName );
264 file.open( IO_WriteOnly ); 269 file.open( IO_WriteOnly );
265 file.close(); 270 file.close();
266 271
267 // Create lock file 272 // Create lock file
268 int result = 0; 273 int result = 0;
269#ifndef _WIN32_ 274#ifndef _WIN32_
270 result = ::link( QFile::encodeName( mLockUniqueName ), 275 result = ::link( QFile::encodeName( mLockUniqueName ),
271 QFile::encodeName( lockName ) ); 276 QFile::encodeName( lockName ) );
272#endif 277#endif
273 if ( result == 0 ) { 278 if ( result == 0 ) {
274 addressBook()->emitAddressBookLocked(); 279 addressBook()->emitAddressBookLocked();
275 return true; 280 return true;
276 } 281 }
@@ -307,49 +312,26 @@ void ResourceSharpDTM::setFileName( const QString &newFileName )
307 312
308void ResourceSharpDTM::fileChanged() 313void ResourceSharpDTM::fileChanged()
309{ 314{
310 // There is a small theoretical chance that KDirWatch calls us before 315 // There is a small theoretical chance that KDirWatch calls us before
311 // we are fully constructed 316 // we are fully constructed
312 if (!addressBook()) 317 if (!addressBook())
313 return; 318 return;
314 319
315 QString text( i18n( "Sharp DTM resource '%1'<br> has been changed by third party.<br>Do you want to reload?").arg( fileName() ) ); 320 QString text( i18n( "Sharp DTM resource '%1'<br> has been changed by third party.<br>Do you want to reload?").arg( fileName() ) );
316 if ( readOnly() || KMessageBox::questionYesNo( 0, text ) == KMessageBox::Yes ) { 321 if ( readOnly() || KMessageBox::questionYesNo( 0, text ) == KMessageBox::Yes ) {
317 load(); 322 load();
318 addressBook()->emitAddressBookChanged(); 323 addressBook()->emitAddressBookChanged();
319 } 324 }
320} 325}
321 326
322void ResourceSharpDTM::removeAddressee( const Addressee &addr ) 327void ResourceSharpDTM::removeAddressee( const Addressee &addr )
323{ 328{
324} 329}
325 330
326void ResourceSharpDTM::cleanUp() 331void ResourceSharpDTM::cleanUp()
327{ 332{
328 unlock( fileName() ); 333 unlock( fileName() );
329} 334}
330 335
331/**
332 * This method returns the number of elements that are currently in the resource.
333 */
334int ResourceSharpDTM::count() const
335{
336 if (mAccess != 0)
337 return mAccess->count();
338 else
339 return 0;
340}
341
342
343/**
344 * This method removes all elements from the resource!! (Not from the addressbook)
345 */
346bool ResourceSharpDTM::clear()
347{
348 if (mAccess != 0)
349 return mAccess->deleteCard(0, SlZDataBase::AllCard );
350 else
351 return false;
352}
353
354 336
355 337
diff --git a/kabc/plugins/sharpdtm/resourcesharpdtm.h b/kabc/plugins/sharpdtm/resourcesharpdtm.h
index 60d38a1..f386e69 100644
--- a/kabc/plugins/sharpdtm/resourcesharpdtm.h
+++ b/kabc/plugins/sharpdtm/resourcesharpdtm.h
@@ -101,56 +101,46 @@ public:
101 * Saves all addresses from address book to file. 101 * Saves all addresses from address book to file.
102 * Returns true if all addressees could be saved otherwise false. 102 * Returns true if all addressees could be saved otherwise false.
103 * 103 *
104 * @param ticket The ticket returned by @ref requestSaveTicket() 104 * @param ticket The ticket returned by @ref requestSaveTicket()
105 */ 105 */
106 virtual bool save( Ticket *ticket ); 106 virtual bool save( Ticket *ticket );
107 107
108 /** 108 /**
109 * Remove a addressee from its source. 109 * Remove a addressee from its source.
110 * This method is mainly called by KABC::AddressBook. 110 * This method is mainly called by KABC::AddressBook.
111 */ 111 */
112 virtual void removeAddressee( const Addressee& addr ); 112 virtual void removeAddressee( const Addressee& addr );
113 113
114 /** 114 /**
115 * Set name of file to be used for saving. 115 * Set name of file to be used for saving.
116 */ 116 */
117 virtual void setFileName( const QString & ); 117 virtual void setFileName( const QString & );
118 118
119 /** 119 /**
120 * This method is called by an error handler if the application 120 * This method is called by an error handler if the application
121 * crashed 121 * crashed
122 */ 122 */
123 virtual void cleanUp(); 123 virtual void cleanUp();
124 124
125 /**
126 * This method returns the number of elements that are currently in the resource.
127 */
128 virtual int count() const;
129
130 /**
131 * This method removes all elements from the resource!! (Not from the addressbook)
132 */
133 virtual bool clear();
134
135 125
136protected slots: 126protected slots:
137 void fileChanged(); 127 void fileChanged();
138 128
139protected: 129protected:
140 void init( const QString &fileName ); 130 void init( const QString &fileName );
141 131
142 bool lock( const QString &fileName ); 132 bool lock( const QString &fileName );
143 void unlock( const QString &fileName ); 133 void unlock( const QString &fileName );
144 134
145private: 135private:
146 SlZDataBase* mAccess; 136 SlZDataBase* mAccess;
147 SharpDTMConverter* mConverter; 137 SharpDTMConverter* mConverter;
148 138
149 QString mLockUniqueName; 139 QString mLockUniqueName;
150 140
151 KDirWatch mDirWatch; 141 KDirWatch mDirWatch;
152}; 142};
153 143
154} 144}
155 145
156#endif 146#endif