summaryrefslogtreecommitdiffabout
path: root/kabc/plugins/file/resourcefile.cpp
Unidiff
Diffstat (limited to 'kabc/plugins/file/resourcefile.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/plugins/file/resourcefile.cpp14
1 files changed, 3 insertions, 11 deletions
diff --git a/kabc/plugins/file/resourcefile.cpp b/kabc/plugins/file/resourcefile.cpp
index 2d20706..9f9b00f 100644
--- a/kabc/plugins/file/resourcefile.cpp
+++ b/kabc/plugins/file/resourcefile.cpp
@@ -28,52 +28,48 @@ $Id$
28#include <sys/types.h> 28#include <sys/types.h>
29#include <sys/stat.h> 29#include <sys/stat.h>
30#ifndef _WIN32_ 30#ifndef _WIN32_
31#include <unistd.h> 31#include <unistd.h>
32#endif 32#endif
33 33
34#include <qfile.h> 34#include <qfile.h>
35#include <qfileinfo.h> 35#include <qfileinfo.h>
36#include <qregexp.h> 36#include <qregexp.h>
37#include <qtimer.h> 37#include <qtimer.h>
38 38
39#include <kapplication.h> 39#include <kapplication.h>
40#include <kconfig.h> 40#include <kconfig.h>
41#include <kdebug.h> 41#include <kdebug.h>
42#include <klocale.h> 42#include <klocale.h>
43//US #include <ksavefile.h> 43//US #include <ksavefile.h>
44#include <kstandarddirs.h> 44#include <kstandarddirs.h>
45 45
46#include "formatfactory.h" 46#include "formatfactory.h"
47 47
48#include "resource.h" 48#include "resource.h"
49#include "resourcefileconfig.h" 49#include "resourcefileconfig.h"
50#include "stdaddressbook.h" 50#include "stdaddressbook.h"
51 51
52//US #include "../../formats/vcardformatplugin2.h"
53//US #include "../../formats/binaryformat.h"
54
55
56#include "resourcefile.h" 52#include "resourcefile.h"
57 53
58using namespace KABC; 54using namespace KABC;
59 55
60extern "C" 56extern "C"
61#ifdef _WIN32_ 57#ifdef _WIN32_
62__declspec(dllexport) 58__declspec(dllexport)
63#else 59#else
64{ 60{
65#endif 61#endif
66 62
67//US void *init_kabc_file() 63//US void *init_kabc_file()
68 void *init_microkabc_file() 64 void *init_microkabc_file()
69 { 65 {
70 return new KRES::PluginFactory<ResourceFile,ResourceFileConfig>(); 66 return new KRES::PluginFactory<ResourceFile,ResourceFileConfig>();
71 } 67 }
72#ifndef _WIN32_ 68#ifndef _WIN32_
73} 69}
74#endif 70#endif
75 71
76ResourceFile::ResourceFile( const KConfig *config ) 72ResourceFile::ResourceFile( const KConfig *config )
77 : Resource( config ) , mFormat( 0 ) 73 : Resource( config ) , mFormat( 0 )
78{ 74{
79 QString fileName, formatName; 75 QString fileName, formatName;
@@ -105,53 +101,51 @@ void ResourceFile::init( const QString &fileName, const QString &formatName )
105 mFormatName = formatName; 101 mFormatName = formatName;
106 102
107 FormatFactory *factory = FormatFactory::self(); 103 FormatFactory *factory = FormatFactory::self();
108 mFormat = factory->format( mFormatName ); 104 mFormat = factory->format( mFormatName );
109 105
110 if ( !mFormat ) { 106 if ( !mFormat ) {
111 mFormatName = "vcard"; 107 mFormatName = "vcard";
112 mFormat = factory->format( mFormatName ); 108 mFormat = factory->format( mFormatName );
113 } 109 }
114 110
115/*US 111/*US
116//US qDebug("ResourceFile::init initialized with format %s ", formatName.latin1()); 112//US qDebug("ResourceFile::init initialized with format %s ", formatName.latin1());
117 if (mFormatName == "vcard") { 113 if (mFormatName == "vcard") {
118 mFormat = new VCardFormatPlugin2(); 114 mFormat = new VCardFormatPlugin2();
119// qDebug("ResourceFile::init format VCardFormatPlugin2"); 115// qDebug("ResourceFile::init format VCardFormatPlugin2");
120 } 116 }
121 else if (mFormatName == "binary") { 117 else if (mFormatName == "binary") {
122 mFormat = new BinaryFormat(); 118 mFormat = new BinaryFormat();
123// qDebug("ResourceFile::init format BinaryFormat"); 119// qDebug("ResourceFile::init format BinaryFormat");
124 } 120 }
125 else 121 else
126 qDebug("ResourceFile::init format unknown !!! %s ", formatName.latin1()); 122 qDebug("ResourceFile::init format unknown !!! %s ", formatName.latin1());
127*/ 123*/
128 124
129/*US we have no KDirWatch. SO simulate the signals from inside the apropriate methods
130 connect( &mDirWatch, SIGNAL( dirty(const QString&) ), SLOT( fileChanged() ) ); 125 connect( &mDirWatch, SIGNAL( dirty(const QString&) ), SLOT( fileChanged() ) );
131 connect( &mDirWatch, SIGNAL( created(const QString&) ), SLOT( fileChanged() ) ); 126 connect( &mDirWatch, SIGNAL( created(const QString&) ), SLOT( fileChanged() ) );
132 connect( &mDirWatch, SIGNAL( deleted(const QString&) ), SLOT( fileChanged() ) ); 127 connect( &mDirWatch, SIGNAL( deleted(const QString&) ), SLOT( fileChanged() ) );
133*/
134 128
135 setFileName( fileName ); 129 setFileName( fileName );
136} 130}
137 131
138ResourceFile::~ResourceFile() 132ResourceFile::~ResourceFile()
139{ 133{
140 delete mFormat; 134 delete mFormat;
141 mFormat = 0; 135 mFormat = 0;
142} 136}
143 137
144void ResourceFile::writeConfig( KConfig *config ) 138void ResourceFile::writeConfig( KConfig *config )
145{ 139{
146 140
147 config->setGroup( "Resource_" + identifier() ); 141 config->setGroup( "Resource_" + identifier() );
148 Resource::writeConfig( config ); 142 Resource::writeConfig( config );
149 143
150 config->writeEntry( "FileName", mFileName ); 144 config->writeEntry( "FileName", mFileName );
151 config->writeEntry( "FileFormat", mFormatName ); 145 config->writeEntry( "FileFormat", mFormatName );
152 146
153// qDebug("ResourceFile::writeConfig format %s, %s", mFileName.latin1(), mFormatName.latin1()); 147// qDebug("ResourceFile::writeConfig format %s, %s", mFileName.latin1(), mFormatName.latin1());
154 148
155} 149}
156 150
157Ticket *ResourceFile::requestSaveTicket() 151Ticket *ResourceFile::requestSaveTicket()
@@ -305,61 +299,59 @@ bool ResourceFile::lock( const QString &fileName )
305 } 299 }
306 300
307 // TODO: check stat 301 // TODO: check stat
308 302
309 return false; 303 return false;
310} 304}
311 305
312void ResourceFile::unlock( const QString &fileName ) 306void ResourceFile::unlock( const QString &fileName )
313{ 307{
314 QString fn = fileName; 308 QString fn = fileName;
315//US change the implementation how the lockfilename is getting created 309//US change the implementation how the lockfilename is getting created
316//US fn.replace( QRegExp( "/" ), "_" ); 310//US fn.replace( QRegExp( "/" ), "_" );
317//US QString lockName = locateLocal( "data", "kabc/lock/" + fn + ".lock" ); 311//US QString lockName = locateLocal( "data", "kabc/lock/" + fn + ".lock" );
318//US QString lockName = fn + ".lock"; 312//US QString lockName = fn + ".lock";
319 KURL url(fn); 313 KURL url(fn);
320 QString lockName = locateLocal( "data", "kabc/lock/" + url.fileName() + ".lock" ); 314 QString lockName = locateLocal( "data", "kabc/lock/" + url.fileName() + ".lock" );
321 315
322 QFile::remove( lockName ); 316 QFile::remove( lockName );
323 QFile::remove( mLockUniqueName ); 317 QFile::remove( mLockUniqueName );
324 addressBook()->emitAddressBookUnlocked(); 318 addressBook()->emitAddressBookUnlocked();
325} 319}
326 320
327void ResourceFile::setFileName( const QString &fileName ) 321void ResourceFile::setFileName( const QString &fileName )
328{ 322{
329/*US ToDo: no synchronization so far. Has to be changed in the future
330 mDirWatch.stopScan(); 323 mDirWatch.stopScan();
331 mDirWatch.removeFile( mFileName ); 324 mDirWatch.removeFile( mFileName );
332*/ 325
333 mFileName = fileName; 326 mFileName = fileName;
334 327
335 328
336/*US ToDo: no synchronization so far. Has to be changed in the future
337 mDirWatch.addFile( mFileName ); 329 mDirWatch.addFile( mFileName );
338 mDirWatch.startScan(); 330 mDirWatch.startScan();
339*/ 331
340//US simulate KDirWatch event 332//US simulate KDirWatch event
341 fileChanged(); 333//US fileChanged();
342} 334}
343 335
344QString ResourceFile::fileName() const 336QString ResourceFile::fileName() const
345{ 337{
346 return mFileName; 338 return mFileName;
347} 339}
348 340
349void ResourceFile::setFormat( const QString &format ) 341void ResourceFile::setFormat( const QString &format )
350{ 342{
351 mFormatName = format; 343 mFormatName = format;
352 delete mFormat; 344 delete mFormat;
353 345
354 FormatFactory *factory = FormatFactory::self(); 346 FormatFactory *factory = FormatFactory::self();
355 mFormat = factory->format( mFormatName ); 347 mFormat = factory->format( mFormatName );
356/*US 348/*US
357//qDebug("ResourceFile::setFormat initialized with format %s ", format.latin1()); 349//qDebug("ResourceFile::setFormat initialized with format %s ", format.latin1());
358 if (mFormatName == "vcard") { 350 if (mFormatName == "vcard") {
359 mFormat = new VCardFormatPlugin2(); 351 mFormat = new VCardFormatPlugin2();
360// qDebug("ResourceFile::setFormat format %s", mFormatName.latin1()); 352// qDebug("ResourceFile::setFormat format %s", mFormatName.latin1());
361 } 353 }
362 else if (mFormatName == "binary") { 354 else if (mFormatName == "binary") {
363 mFormat = new BinaryFormat(); 355 mFormat = new BinaryFormat();
364// qDebug("ResourceFile::setFormat format %s", mFormatName.latin1()); 356// qDebug("ResourceFile::setFormat format %s", mFormatName.latin1());
365 } 357 }