summaryrefslogtreecommitdiffabout
path: root/kabc
authorulf69 <ulf69>2004-06-30 22:02:19 (UTC)
committer ulf69 <ulf69>2004-06-30 22:02:19 (UTC)
commit570dc8214a4b43ca89e71901f48deea2b53492bb (patch) (unidiff)
treed3eb25840e1e0e29541c0005ed7950b84557c34c /kabc
parent2de4aeb0272fa7d96a55332196a11e52b2f27539 (diff)
downloadkdepimpi-570dc8214a4b43ca89e71901f48deea2b53492bb.zip
kdepimpi-570dc8214a4b43ca89e71901f48deea2b53492bb.tar.gz
kdepimpi-570dc8214a4b43ca89e71901f48deea2b53492bb.tar.bz2
implemented loading of opie resources
Diffstat (limited to 'kabc') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/plugins/opie/kabc_opieE.pro24
-rw-r--r--kabc/plugins/opie/resourceopie.cpp117
-rw-r--r--kabc/plugins/opie/resourceopie.h9
-rw-r--r--kabc/plugins/opie/resourceopieconfig.cpp9
4 files changed, 113 insertions, 46 deletions
diff --git a/kabc/plugins/opie/kabc_opieE.pro b/kabc/plugins/opie/kabc_opieE.pro
index 7341ca8..f3e2ac4 100644
--- a/kabc/plugins/opie/kabc_opieE.pro
+++ b/kabc/plugins/opie/kabc_opieE.pro
@@ -1,13 +1,22 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2CONFIG += qt warn_on release 2CONFIG += qt warn_on
3#release debug 3#release debug
4
5TARGET = microkabc_opie 4TARGET = microkabc_opie
6INCLUDEPATH += ../.. ../../../microkde ../../../microkde/kdecore ../../../microkde/kio/kfile ../../../qtcompat 5
6INCLUDEPATH += ../.. ../../converter/opie ../../../microkde ../../../microkde/kdecore ../../../microkde/kio/kfile ../../../qtcompat $(QPEDIR)/include
7
8
7OBJECTS_DIR = obj/$(PLATFORM) 9OBJECTS_DIR = obj/$(PLATFORM)
8MOC_DIR = moc 10MOC_DIR = moc/$(PLATFORM)
9DESTDIR = $(QPEDIR)/lib 11DESTDIR = $(QPEDIR)/lib
10LIBS += -lmicrokde -lmicrokabc 12LIBS += -lmicrokde
13LIBS += -lmicrokabc
11LIBS += -L$(QPEDIR)/lib 14LIBS += -L$(QPEDIR)/lib
15LIBS += -lopie
16LIBS += -lqpe
17LIBS += -lqte
18LIBS += -lmicrokabc_opieconverter
19#LIBS += -L../../lib/$(PLATFORM)
20
12 21
13INTERFACES = \ 22INTERFACES = \
@@ -15,7 +24,8 @@ INTERFACES = \
15HEADERS = \ 24HEADERS = \
16 resourceopie.h \ 25 resourceopie.h \
17 resourceopieconfig.h 26 resourceopieconfig.h \
18 27
19SOURCES = \ 28SOURCES = \
20 resourceopie.cpp \ 29 resourceopie.cpp \
21 resourceopieconfig.cpp 30 resourceopieconfig.cpp \
31
diff --git a/kabc/plugins/opie/resourceopie.cpp b/kabc/plugins/opie/resourceopie.cpp
index 47e22b4..f992301 100644
--- a/kabc/plugins/opie/resourceopie.cpp
+++ b/kabc/plugins/opie/resourceopie.cpp
@@ -30,4 +30,5 @@ $Id$
30#include <unistd.h> 30#include <unistd.h>
31 31
32#include <qdir.h>
32#include <qfile.h> 33#include <qfile.h>
33#include <qfileinfo.h> 34#include <qfileinfo.h>
@@ -43,4 +44,7 @@ $Id$
43 44
44//US #include "formatfactory.h" 45//US #include "formatfactory.h"
46//US #include <qpe/qpeapplication.h>
47
48#include <opie/ocontactaccess.h>
45 49
46#include "resource.h" 50#include "resource.h"
@@ -48,4 +52,6 @@ $Id$
48#include "stdaddressbook.h" 52#include "stdaddressbook.h"
49 53
54#include "opieconverter.h"
55
50#include "resourceopie.h" 56#include "resourceopie.h"
51 57
@@ -53,5 +59,4 @@ using namespace KABC;
53extern "C" 59extern "C"
54{ 60{
55//US void *init_kabc_file()
56 void *init_microkabc_opie() 61 void *init_microkabc_opie()
57 { 62 {
@@ -61,17 +66,16 @@ extern "C"
61 66
62ResourceOpie::ResourceOpie( const KConfig *config ) 67ResourceOpie::ResourceOpie( const KConfig *config )
63 : Resource( config ) 68 : Resource( config ), mConverter (0)
64{ 69{
65 QString fileName; 70 QString fileName = QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml";
66 71
67 KConfig *cfg = (KConfig *)config; 72 KConfig *cfg = (KConfig *)config;
68 if ( cfg ) { 73 if ( cfg ) {
69 fileName = cfg->readEntry( "FileName", StdAddressBook::fileName() ); 74 fileName = cfg->readEntry( "FileName", fileName );
70// qDebug("ResourceFile::ResourceFile : 1 %s, %s", fileName.latin1(), formatName.latin1() ); 75
71 } else {
72 fileName = StdAddressBook::fileName();
73// qDebug("ResourceFile::ResourceFile : 2 %s, %s", fileName.latin1(), formatName.latin1() );
74 } 76 }
75 77
78// qDebug("ResourceOpie::ResourceOpie : %s", fileName.latin1() );
79
76 init( fileName ); 80 init( fileName );
77} 81}
@@ -80,5 +84,5 @@ ResourceOpie::ResourceOpie( const QString &fileName )
80 : Resource( 0 ) 84 : Resource( 0 )
81{ 85{
82// qDebug("ResourceFile::ResourceFile : 3 %s, %s", fileName.latin1(), formatName.latin1()); 86// qDebug("ResourceOpie::ResourceOpie : 3 %s", fileName.latin1());
83 init( fileName ); 87 init( fileName );
84} 88}
@@ -92,14 +96,22 @@ void ResourceOpie::init( const QString &fileName )
92 connect( &mDirWatch, SIGNAL( deleted(const QString&) ), SLOT( fileChanged() ) ); 96 connect( &mDirWatch, SIGNAL( deleted(const QString&) ), SLOT( fileChanged() ) );
93*/ 97*/
98 //US opie addressbook is always readonly
99 setReadOnly( true );
94 100
95 setFileName( fileName ); 101 setFileName( fileName );
102
96} 103}
97 104
98ResourceOpie::~ResourceOpie() 105ResourceOpie::~ResourceOpie()
99{ 106{
107 if (mConverter != 0)
108 delete mConverter;
100} 109}
101 110
102void ResourceOpie::writeConfig( KConfig *config ) 111void ResourceOpie::writeConfig( KConfig *config )
103{ 112{
113 //US opie addressbook is always readonly
114 setReadOnly( true );
115
104 Resource::writeConfig( config ); 116 Resource::writeConfig( config );
105 117
@@ -127,4 +139,6 @@ Ticket *ResourceOpie::requestSaveTicket()
127bool ResourceOpie::doOpen() 139bool ResourceOpie::doOpen()
128{ 140{
141// qDebug("ResourceOpie::doOpen() %s", mFileName.latin1());
142/*US
129 QFile file( mFileName ); 143 QFile file( mFileName );
130 144
@@ -152,23 +166,55 @@ bool ResourceOpie::doOpen()
152 return ok; 166 return ok;
153 } 167 }
168*/
169 qDebug("ResourceOpie::doOpen() has to be fixed - %s", mFileName.latin1());
170 return true;
154} 171}
155 172
156void ResourceOpie::doClose() 173void ResourceOpie::doClose()
157{ 174{
175// qDebug("ResourceOpie::doClose() %s", mFileName.latin1());
158} 176}
159 177
160bool ResourceOpie::load() 178bool ResourceOpie::load()
161{ 179{
180// qDebug("ResourceOpie::load() %s", mFileName.latin1());
162 kdDebug(5700) << "ResourceOpie::load(): '" << mFileName << "'" << endl; 181 kdDebug(5700) << "ResourceOpie::load(): '" << mFileName << "'" << endl;
163 182
164 QFile file( mFileName ); 183 OContactAccess* access = new OContactAccess("KDEPim/Pi", mFileName, 0l, false);
165 if ( !file.open( IO_ReadOnly ) ) { 184
166 addressBook()->error( i18n( "Unable to open file '%1'." ).arg( mFileName ) ); 185 if ( !access ) {
186 qDebug("Unable to load file() %s", mFileName.latin1());
187 addressBook()->error( i18n( "Unable to load file '%1'." ).arg( mFileName ) );
167 return false; 188 return false;
168 } 189 }
190
191 access -> setReadAhead( 32 ); // Use ReadAhead-Cache if available
192
193 if (mConverter == 0)
194 mConverter = new OpieConverter();
169 195
170// qDebug("ResourceFile::load format %s, %s", mFileName.latin1(), mFormatName.latin1()); 196
197 OContactAccess::List::Iterator it;
198 OContactAccess::List allList = access->allRecords();
199 bool res = false;
200 for ( it = allList.begin(); it != allList.end(); ++it )
201 {
202 OContact c = (*it);
203
204 KABC::Addressee addressee;
205
206 res = mConverter->opieToAddressee( c, addressee );
207
208 if ( !addressee.isEmpty() && res )
209 {
210 addressee.setResource( this );
211 addressBook()->insertAddressee( addressee );
212 }
213
214// qDebug("found %s", c.fullName().latin1());
215 }
216
217 delete access;
171 218
172 //US return mFormat->loadAll( addressBook(), this, &file );
173 return true; 219 return true;
174} 220}
@@ -176,10 +222,13 @@ bool ResourceOpie::load()
176bool ResourceOpie::save( Ticket *ticket ) 222bool ResourceOpie::save( Ticket *ticket )
177{ 223{
178// qDebug("ResourceFile::save format %s, %s", mFileName.latin1(), mFormatName.latin1()); 224 qDebug("ResourceOpie::save() has to be fixed - %s", mFileName.latin1());
225/*US
226
227 qDebug("ResourceOpie::save %s", mFileName.latin1());
179 kdDebug(5700) << "ResourceOpie::save()" << endl; 228 kdDebug(5700) << "ResourceOpie::save()" << endl;
180 229
181 // create backup file 230 // create backup file
182 QString extension = "_" + QString::number( QDate::currentDate().dayOfWeek() ); 231 QString extension = "_" + QString::number( QDate::currentDate().dayOfWeek() );
183 232*/
184/*US we use a simpler method to create a backupfile 233/*US we use a simpler method to create a backupfile
185 234
@@ -195,5 +244,5 @@ bool ResourceOpie::save( Ticket *ticket )
195 } 244 }
196*/ 245*/
197 246/*US
198//US ToDo: write backupfile 247//US ToDo: write backupfile
199 QFile info; 248 QFile info;
@@ -219,9 +268,15 @@ bool ResourceOpie::save( Ticket *ticket )
219 268
220 qDebug("ResourceOpie::save has to be changed"); 269 qDebug("ResourceOpie::save has to be changed");
270*/
221 return true; 271 return true;
272
222} 273}
223 274
224bool ResourceOpie::lock( const QString &fileName ) 275bool ResourceOpie::lock( const QString &fileName )
225{ 276{
277 qDebug("ResourceOpie::lock() has to be fixed - %s", mFileName.latin1());
278
279/*US
280// qDebug("ResourceOpie::lock() %s", fileName.latin1());
226 kdDebug(5700) << "ResourceOpie::lock()" << endl; 281 kdDebug(5700) << "ResourceOpie::lock()" << endl;
227 282
@@ -264,8 +319,15 @@ bool ResourceOpie::lock( const QString &fileName )
264 319
265 return false; 320 return false;
321*/
322
323 return true;
266} 324}
267 325
268void ResourceOpie::unlock( const QString &fileName ) 326void ResourceOpie::unlock( const QString &fileName )
269{ 327{
328 qDebug("ResourceOpie::unlock() has to be fixed - %s", mFileName.latin1());
329/*US
330// qDebug("ResourceOpie::unlock() %s", fileName.latin1());
331
270 QString fn = fileName; 332 QString fn = fileName;
271//US change the implementation how the lockfilename is getting created 333//US change the implementation how the lockfilename is getting created
@@ -279,4 +341,5 @@ void ResourceOpie::unlock( const QString &fileName )
279 QFile::remove( mLockUniqueName ); 341 QFile::remove( mLockUniqueName );
280 addressBook()->emitAddressBookUnlocked(); 342 addressBook()->emitAddressBookUnlocked();
343*/
281} 344}
282 345
@@ -303,20 +366,4 @@ QString ResourceOpie::fileName() const
303} 366}
304 367
305/*US
306void ResourceOpie::setFormat( const QString &format )
307{
308 mFormatName = format;
309 delete mFormat;
310
311 FormatFactory *factory = FormatFactory::self();
312 mFormat = factory->format( mFormatName );
313}
314
315QString ResourceOpie::format() const
316{
317 return mFormatName;
318}
319*/
320
321void ResourceOpie::fileChanged() 368void ResourceOpie::fileChanged()
322{ 369{
@@ -340,4 +387,6 @@ void ResourceOpie::removeAddressee( const Addressee &addr )
340void ResourceOpie::cleanUp() 387void ResourceOpie::cleanUp()
341{ 388{
389// qDebug("ResourceOpie::cleanup() %s", mFileName.latin1());
390
342 unlock( mFileName ); 391 unlock( mFileName );
343} 392}
diff --git a/kabc/plugins/opie/resourceopie.h b/kabc/plugins/opie/resourceopie.h
index d21272a..9db9485 100644
--- a/kabc/plugins/opie/resourceopie.h
+++ b/kabc/plugins/opie/resourceopie.h
@@ -37,6 +37,7 @@ $Id$
37#include "resource.h" 37#include "resource.h"
38 38
39class QTimer; 39
40class FormatPlugin; 40//class QTimer;
41//class FormatPlugin;
41 42
42namespace KABC { 43namespace KABC {
@@ -44,5 +45,5 @@ namespace KABC {
44//US class FormatPlugin; 45//US class FormatPlugin;
45class ResourceConfigWidget; 46class ResourceConfigWidget;
46 47class OpieConverter;
47/** 48/**
48 @internal 49 @internal
@@ -138,4 +139,6 @@ protected:
138 139
139private: 140private:
141 OpieConverter* mConverter;
142
140 QString mFileName; 143 QString mFileName;
141 144
diff --git a/kabc/plugins/opie/resourceopieconfig.cpp b/kabc/plugins/opie/resourceopieconfig.cpp
index b92cfa1..f4cc4f9 100644
--- a/kabc/plugins/opie/resourceopieconfig.cpp
+++ b/kabc/plugins/opie/resourceopieconfig.cpp
@@ -36,7 +36,10 @@ $Id$
36#include <unistd.h> 36#include <unistd.h>
37 37
38#include <qdir.h>
38#include <qfile.h> 39#include <qfile.h>
39#include "resourceopie.h" 40#include "resourceopie.h"
40#include "stdaddressbook.h" 41//US #include <qpe/qpeapplication.h>
42
43//US #include "stdaddressbook.h"
41 44
42#include "resourceopieconfig.h" 45#include "resourceopieconfig.h"
@@ -82,5 +85,5 @@ void ResourceOpieConfig::loadSettings( KRES::Resource *res )
82 mFileNameEdit->setURL( resource->fileName() ); 85 mFileNameEdit->setURL( resource->fileName() );
83 if ( mFileNameEdit->url().isEmpty() ) 86 if ( mFileNameEdit->url().isEmpty() )
84 mFileNameEdit->setURL( KABC::StdAddressBook::fileName() ); 87 mFileNameEdit->setURL( QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml" );
85} 88}
86 89
@@ -101,6 +104,8 @@ void ResourceOpieConfig::checkFilePermissions( const QString& fileName )
101{ 104{
102 // If file exist but is not writeable... 105 // If file exist but is not writeable...
106/*US
103 if ( access( QFile::encodeName( fileName ), F_OK ) == 0 ) 107 if ( access( QFile::encodeName( fileName ), F_OK ) == 0 )
104 emit setReadOnly( access( QFile::encodeName( fileName ), W_OK ) < 0 ); 108 emit setReadOnly( access( QFile::encodeName( fileName ), W_OK ) < 0 );
109*/
105} 110}
106 111