summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-03-30 11:55:53 (UTC)
committer zautrix <zautrix>2005-03-30 11:55:53 (UTC)
commitb5222dd7a607f78235b1ea39fea0f95a9c08ccd3 (patch) (unidiff)
tree4e4d334ae9d8805b7718c1610bd84af128fd8151
parent597cad3a63e6c22855704bf8435db70e3c2b184f (diff)
downloadkdepimpi-b5222dd7a607f78235b1ea39fea0f95a9c08ccd3.zip
kdepimpi-b5222dd7a607f78235b1ea39fea0f95a9c08ccd3.tar.gz
kdepimpi-b5222dd7a607f78235b1ea39fea0f95a9c08ccd3.tar.bz2
fixes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/addresseeview.cpp2
-rw-r--r--kabc/plugins/file/resourcefile.cpp41
-rw-r--r--kabc/plugins/file/resourcefile.h2
-rw-r--r--microkde/kdatetbl.cpp2
-rw-r--r--microkde/kdecore/kstandarddirs.cpp4
-rw-r--r--microkde/kdecore/kstandarddirs.h4
6 files changed, 39 insertions, 16 deletions
diff --git a/kabc/addresseeview.cpp b/kabc/addresseeview.cpp
index aa96210..9118c3d 100644
--- a/kabc/addresseeview.cpp
+++ b/kabc/addresseeview.cpp
@@ -274,49 +274,49 @@ void AddresseeView::setAddressee( const KABC::Addressee& mAddressee )
274 setDefaultImagepouses = true; 274 setDefaultImagepouses = true;
275 } 275 }
276 picString = "<img src=\"SpousesIcon\" width=\"64\" height=\"64\">"; 276 picString = "<img src=\"SpousesIcon\" width=\"64\" height=\"64\">";
277 } else { 277 } else {
278 QString gen = mAddressee.custom( "KADDRESSBOOK", "X-Gender" ); 278 QString gen = mAddressee.custom( "KADDRESSBOOK", "X-Gender" );
279 if ( gen == "male" ) { 279 if ( gen == "male" ) {
280 static bool setDefaultImageMale = false; 280 static bool setDefaultImageMale = false;
281 if ( !setDefaultImageMale ) { 281 if ( !setDefaultImageMale ) {
282 QMimeSourceFactory::defaultFactory()->setPixmap( "MaleIcon", KGlobal::iconLoader()->loadIcon( "ic_male", KIcon::Desktop, 128 ) ); 282 QMimeSourceFactory::defaultFactory()->setPixmap( "MaleIcon", KGlobal::iconLoader()->loadIcon( "ic_male", KIcon::Desktop, 128 ) );
283 setDefaultImageMale = true; 283 setDefaultImageMale = true;
284 } 284 }
285 picString = "<img src=\"MaleIcon\" width=\"64\" height=\"64\">"; 285 picString = "<img src=\"MaleIcon\" width=\"64\" height=\"64\">";
286 286
287 } else if ( gen == "female" ) { 287 } else if ( gen == "female" ) {
288 static bool setDefaultImageFemale = false; 288 static bool setDefaultImageFemale = false;
289 if ( !setDefaultImageFemale ) { 289 if ( !setDefaultImageFemale ) {
290 QMimeSourceFactory::defaultFactory()->setPixmap( "FemaleIcon", KGlobal::iconLoader()->loadIcon( "ic_female", KIcon::Desktop, 128 ) ); 290 QMimeSourceFactory::defaultFactory()->setPixmap( "FemaleIcon", KGlobal::iconLoader()->loadIcon( "ic_female", KIcon::Desktop, 128 ) );
291 setDefaultImageFemale = true; 291 setDefaultImageFemale = true;
292 } 292 }
293 picString = "<img src=\"FemaleIcon\" width=\"64\" height=\"64\">"; 293 picString = "<img src=\"FemaleIcon\" width=\"64\" height=\"64\">";
294 294
295 } else { 295 } else {
296 static bool setDefaultImage = false; 296 static bool setDefaultImage = false;
297 if ( !setDefaultImage ) { 297 if ( !setDefaultImage ) {
298 qDebug("Setting default pixmap "); 298 //qDebug("Setting default pixmap ");
299 QMimeSourceFactory::defaultFactory()->setPixmap( "defaultIcon", KGlobal::iconLoader()->loadIcon( "ic_penguin", KIcon::Desktop, 128 ) ); 299 QMimeSourceFactory::defaultFactory()->setPixmap( "defaultIcon", KGlobal::iconLoader()->loadIcon( "ic_penguin", KIcon::Desktop, 128 ) );
300 setDefaultImage = true; 300 setDefaultImage = true;
301 } 301 }
302 picString = "<img src=\"defaultIcon\" width=\"64\" height=\"64\">"; 302 picString = "<img src=\"defaultIcon\" width=\"64\" height=\"64\">";
303 } 303 }
304 } 304 }
305 } 305 }
306 } 306 }
307 mText = QString::fromLatin1( 307 mText = QString::fromLatin1(
308 "<html>" 308 "<html>"
309 "<body text=\"%1\" bgcolor=\"%2\">" // text and background color 309 "<body text=\"%1\" bgcolor=\"%2\">" // text and background color
310 "<table>" 310 "<table>"
311 "<tr>" 311 "<tr>"
312 "<td rowspan=\"3\" align=\"right\" valign=\"top\">" 312 "<td rowspan=\"3\" align=\"right\" valign=\"top\">"
313 "%3" 313 "%3"
314 "</td>" 314 "</td>"
315 "<td align=\"left\"><font size=\"+2\"><b>%4</b></font></td>" // name 315 "<td align=\"left\"><font size=\"+2\"><b>%4</b></font></td>" // name
316 "</tr>" 316 "</tr>"
317 "%5" // role 317 "%5" // role
318 "%6" // organization 318 "%6" // organization
319 "<td colspan=\"2\">&nbsp;</td>" 319 "<td colspan=\"2\">&nbsp;</td>"
320 "%7" // dynamic part 320 "%7" // dynamic part
321 "%8" // notes 321 "%8" // notes
322 "</table>" 322 "</table>"
diff --git a/kabc/plugins/file/resourcefile.cpp b/kabc/plugins/file/resourcefile.cpp
index dc5932f..4ab7f02 100644
--- a/kabc/plugins/file/resourcefile.cpp
+++ b/kabc/plugins/file/resourcefile.cpp
@@ -34,236 +34,253 @@ $Id$
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#include <kmessagebox.h> 45#include <kmessagebox.h>
46 46
47#include "formatfactory.h" 47#include "formatfactory.h"
48 48
49#include "resource.h" 49#include "resource.h"
50#include "resourcefileconfig.h" 50#include "resourcefileconfig.h"
51#include "stdaddressbook.h" 51#include "stdaddressbook.h"
52#define NO_DIRWATCH 52#define NO_DIRWATCH
53#include "resourcefile.h" 53#include "resourcefile.h"
54 54
55//#define ALLOW_LOCKING 55//#define ALLOW_LOCKING
56 56
57 57
58
59using namespace KABC; 58using namespace KABC;
60 59
61extern "C" 60extern "C"
62#ifdef _WIN32_ 61#ifdef _WIN32_
63__declspec(dllexport) 62__declspec(dllexport)
64#else 63#else
65{ 64{
66#endif 65#endif
67 66
68//US void *init_kabc_file() 67//US void *init_kabc_file()
69 void *init_microkabc_file() 68 void *init_microkabc_file()
70 { 69 {
71 return new KRES::PluginFactory<ResourceFile,ResourceFileConfig>(); 70 return new KRES::PluginFactory<ResourceFile,ResourceFileConfig>();
72 } 71 }
73#ifndef _WIN32_ 72#ifndef _WIN32_
74} 73}
75#endif 74#endif
76 75
77ResourceFile::ResourceFile( const KConfig *config ) 76ResourceFile::ResourceFile( const KConfig *config )
78 : Resource( config ) , mFormat( 0 ) 77 : Resource( config ) , mFormat( 0 )
79{ 78{
80 QString fileName, formatName, default_fileName; 79 QString fileName, formatName, default_fileName;
81 80
82 default_fileName = StdAddressBook::fileName(); 81 default_fileName = StdAddressBook::fileName();
83 82
84 KConfig *cfg = (KConfig *)config; 83 KConfig *cfg = (KConfig *)config;
85 if ( cfg ) { 84 if ( cfg ) {
86 fileName = cfg->readEntry( "FileName", default_fileName ); 85 fileName = cfg->readEntry( "FileName", default_fileName );
87 formatName = cfg->readEntry( "FileFormat", "vcard" ); 86 formatName = cfg->readEntry( "FileFormat", "vcard" );
88 } else { 87 } else {
89 fileName = default_fileName; 88 fileName = default_fileName;
90 formatName = "vcard"; 89 formatName = "vcard";
91 } 90 }
92 91
93 init( fileName, formatName ); 92 init( fileName, formatName );
94} 93}
95 94
96ResourceFile::ResourceFile( const QString &fileName , 95ResourceFile::ResourceFile( const QString &fileName ,
97 const QString &formatName ) 96 const QString &formatName )
98 : Resource( 0 ) 97 : Resource( 0 )
99{ 98{
100// qDebug("ResourceFile::ResourceFile : 3 %s, %s", fileName.latin1(), formatName.latin1()); 99// qDebug("ResourceFile::ResourceFile : 3 %s, %s", fileName.latin1(), formatName.latin1());
100
101
102
101 init( fileName, formatName ); 103 init( fileName, formatName );
102} 104}
103 105
104void ResourceFile::init( const QString &fileName, const QString &formatName ) 106void ResourceFile::init( const QString &fileName, const QString &formatName )
105{ 107{
106 mFormatName = formatName; 108 mFormatName = formatName;
107 109
108 FormatFactory *factory = FormatFactory::self(); 110 FormatFactory *factory = FormatFactory::self();
109 mFormat = factory->format( mFormatName ); 111 mFormat = factory->format( mFormatName );
110 112
111 if ( !mFormat ) { 113 if ( !mFormat ) {
112 mFormatName = "vcard"; 114 mFormatName = "vcard";
113 mFormat = factory->format( mFormatName ); 115 mFormat = factory->format( mFormatName );
114 } 116 }
115 117
116#ifndef NO_DIRWATCH 118#ifndef NO_DIRWATCH
117 connect( &mDirWatch, SIGNAL( dirty(const QString&) ), SLOT( fileChanged() ) ); 119 connect( &mDirWatch, SIGNAL( dirty(const QString&) ), SLOT( fileChanged() ) );
118 connect( &mDirWatch, SIGNAL( created(const QString&) ), SLOT( fileChanged() ) ); 120 connect( &mDirWatch, SIGNAL( created(const QString&) ), SLOT( fileChanged() ) );
119 connect( &mDirWatch, SIGNAL( deleted(const QString&) ), SLOT( fileChanged() ) ); 121 connect( &mDirWatch, SIGNAL( deleted(const QString&) ), SLOT( fileChanged() ) );
120#endif 122#endif
123
124
125 QString localKdeDir;
126 localKdeDir = readEnvPath("LOCALMICROKDEHOME");
127 if ( ! localKdeDir.isEmpty() ) {
128 qDebug("LOCALMICROKDEHOME is set to: %s",localKdeDir.latin1() );
129
130
131
132
133 }
134 qDebug("RESOURCE: %s ", fileName.latin1());
135
136
137
121 setFileName( fileName ); 138 setFileName( fileName );
122} 139}
123 140
124ResourceFile::~ResourceFile() 141ResourceFile::~ResourceFile()
125{ 142{
126 delete mFormat; 143 delete mFormat;
127 mFormat = 0; 144 mFormat = 0;
128} 145}
129 146
130void ResourceFile::writeConfig( KConfig *config ) 147void ResourceFile::writeConfig( KConfig *config )
131{ 148{
132 149
133 config->setGroup( "Resource_" + identifier() ); 150 config->setGroup( "Resource_" + identifier() );
134 Resource::writeConfig( config ); 151 Resource::writeConfig( config );
135 152
136 config->writeEntry( "FileName", mFileName ); 153 config->writeEntry( "FileName", fileName() );
137 config->writeEntry( "FileFormat", mFormatName ); 154 config->writeEntry( "FileFormat", mFormatName );
138 155
139// qDebug("ResourceFile::writeConfig format %s, %s", mFileName.latin1(), mFormatName.latin1()); 156// qDebug("ResourceFile::writeConfig format %s, %s", mFileName.latin1(), mFormatName.latin1());
140 157
141} 158}
142 159
143Ticket *ResourceFile::requestSaveTicket() 160Ticket *ResourceFile::requestSaveTicket()
144{ 161{
145 kdDebug(5700) << "ResourceFile::requestSaveTicket()" << endl; 162 kdDebug(5700) << "ResourceFile::requestSaveTicket()" << endl;
146 163
147 if ( !addressBook() ) return 0; 164 if ( !addressBook() ) return 0;
148 165
149#ifdef ALLOW_LOCKING 166#ifdef ALLOW_LOCKING
150 if ( !lock( mFileName ) ) { 167 if ( !lock( mFileName ) ) {
151 qDebug("unablt to lock file "); 168 qDebug("unablt to lock file ");
152 return 0; 169 return 0;
153 } 170 }
154#endif 171#endif
155 return createTicket( this ); 172 return createTicket( this );
156} 173}
157 174
158 175
159bool ResourceFile::doOpen() 176bool ResourceFile::doOpen()
160{ 177{
161 QFile file( mFileName ); 178 QFile file( fileName() );
162 qDebug("ResourceFile::openfile %s ", mFileName.latin1()); 179 qDebug("ResourceFile::openfile %s ", fileName().latin1());
163 180
164 if ( !file.exists() ) { 181 if ( !file.exists() ) {
165 // try to create the file 182 // try to create the file
166 bool ok = file.open( IO_WriteOnly ); 183 bool ok = file.open( IO_WriteOnly );
167 if ( ok ) 184 if ( ok )
168 file.close(); 185 file.close();
169 186
170 return ok; 187 return ok;
171 } else { 188 } else {
172 if ( !file.open( IO_ReadWrite ) ) 189 if ( !file.open( IO_ReadWrite ) )
173 return false; 190 return false;
174 191
175 if ( file.size() == 0 ) { 192 if ( file.size() == 0 ) {
176 file.close(); 193 file.close();
177 return true; 194 return true;
178 } 195 }
179 196
180 bool ok = mFormat->checkFormat( &file ); 197 bool ok = mFormat->checkFormat( &file );
181 file.close(); 198 file.close();
182 199
183 return ok; 200 return ok;
184 } 201 }
185} 202}
186 203
187void ResourceFile::doClose() 204void ResourceFile::doClose()
188{ 205{
189} 206}
190 207
191bool ResourceFile::load() 208bool ResourceFile::load()
192{ 209{
193 210
194 QFile file( mFileName ); 211 QFile file( fileName() );
195 if ( !file.open( IO_ReadOnly ) ) { 212 if ( !file.open( IO_ReadOnly ) ) {
196 addressBook()->error( i18n( "Unable to open file '%1'." ).arg( mFileName ) ); 213 addressBook()->error( i18n( "Unable to open file '%1'." ).arg( fileName() ) );
197 return false; 214 return false;
198 } 215 }
199 216
200// qDebug("ResourceFile::load format %s, %s", mFileName.latin1(), mFormatName.latin1()); 217// qDebug("ResourceFile::load format %s, %s", mFileName.latin1(), mFormatName.latin1());
201 218
202 return mFormat->loadAll( addressBook(), this, &file ); 219 return mFormat->loadAll( addressBook(), this, &file );
203} 220}
204 221
205bool ResourceFile::save( Ticket *ticket ) 222bool ResourceFile::save( Ticket *ticket )
206{ 223{
207// qDebug("ResourceFile::save format %s, %s", mFileName.latin1(), mFormatName.latin1()); 224// qDebug("ResourceFile::save format %s, %s", mFileName.latin1(), mFormatName.latin1());
208 225
209 226
210 // create backup file 227 // create backup file
211 QString extension = "_" + QString::number( QDate::currentDate().dayOfWeek() ); 228 QString extension = "_" + QString::number( QDate::currentDate().dayOfWeek() );
212 229
213/*US we use a simpler method to create a backupfile 230/*US we use a simpler method to create a backupfile
214 231
215 (void) KSaveFile::backupFile( mFileName, QString::null 232 (void) KSaveFile::backupFile( mFileName, QString::null
216 ,extension ); 233 ,extension );
217 234
218 KSaveFile saveFile( mFileName ); 235 KSaveFile saveFile( mFileName );
219 bool ok = false; 236 bool ok = false;
220 if ( saveFile.status() == 0 && saveFile.file() ) 237 if ( saveFile.status() == 0 && saveFile.file() )
221 { 238 {
222 mFormat->saveAll( addressBook(), this, saveFile.file() ); 239 mFormat->saveAll( addressBook(), this, saveFile.file() );
223 ok = saveFile.close(); 240 ok = saveFile.close();
224 } 241 }
225*/ 242*/
226 243
227//US ToDo: write backupfile 244//US ToDo: write backupfile
228#ifndef NO_DIRWATCH 245#ifndef NO_DIRWATCH
229 mDirWatch.stopScan(); 246 mDirWatch.stopScan();
230#endif 247#endif
231 QFile info; 248 QFile info;
232 info.setName( mFileName ); 249 info.setName( fileName() );
233 bool ok = info.open( IO_WriteOnly ); 250 bool ok = info.open( IO_WriteOnly );
234 if ( ok ) { 251 if ( ok ) {
235 mFormat->saveAll( addressBook(), this, &info ); 252 mFormat->saveAll( addressBook(), this, &info );
236 253
237 info.close(); 254 info.close();
238 ok = true; 255 ok = true;
239 } 256 }
240 else { 257 else {
241 258
242 } 259 }
243 260
244 if ( !ok ) 261 if ( !ok )
245 addressBook()->error( i18n( "Unable to save file '%1'." ).arg( mFileName ) ); 262 addressBook()->error( i18n( "Unable to save file '%1'." ).arg( fileName() ) );
246#ifndef NO_DIRWATCH 263#ifndef NO_DIRWATCH
247 mDirWatch.startScan(); 264 mDirWatch.startScan();
248#endif 265#endif
249 delete ticket; 266 delete ticket;
250#ifdef ALLOW_LOCKING 267#ifdef ALLOW_LOCKING
251 unlock( mFileName ); 268 unlock( mFileName );
252#endif 269#endif
253 270
254 return ok; 271 return ok;
255} 272}
256 273
257bool ResourceFile::lock( const QString &fileName ) 274bool ResourceFile::lock( const QString &fileName )
258{ 275{
259#ifdef ALLOW_LOCKING 276#ifdef ALLOW_LOCKING
260 277
261 278
262 QString fn = fileName; 279 QString fn = fileName;
263 280
264//US change the implementation how the lockfilename is getting created 281//US change the implementation how the lockfilename is getting created
265//US fn.replace( QRegExp("/"), "_" ); 282//US fn.replace( QRegExp("/"), "_" );
266//US QString lockName = locateLocal( "data", "kabc/lock/" + fn + ".lock" ); 283//US QString lockName = locateLocal( "data", "kabc/lock/" + fn + ".lock" );
267 284
268 KURL url(fn); 285 KURL url(fn);
269 QString lockName = locateLocal( "data", "kabc/lock/" + url.fileName() + ".lock" ); 286 QString lockName = locateLocal( "data", "kabc/lock/" + url.fileName() + ".lock" );
@@ -313,92 +330,92 @@ void ResourceFile::unlock( const QString &fileName )
313//US QString lockName = locateLocal( "data", "kabc/lock/" + fn + ".lock" ); 330//US QString lockName = locateLocal( "data", "kabc/lock/" + fn + ".lock" );
314//US QString lockName = fn + ".lock"; 331//US QString lockName = fn + ".lock";
315 KURL url(fn); 332 KURL url(fn);
316 QString lockName = locateLocal( "data", "kabc/lock/" + url.fileName() + ".lock" ); 333 QString lockName = locateLocal( "data", "kabc/lock/" + url.fileName() + ".lock" );
317 334
318 QFile::remove( lockName ); 335 QFile::remove( lockName );
319 QFile::remove( mLockUniqueName ); 336 QFile::remove( mLockUniqueName );
320 addressBook()->emitAddressBookUnlocked(); 337 addressBook()->emitAddressBookUnlocked();
321#else 338#else
322 return; 339 return;
323#endif 340#endif
324} 341}
325 342
326void ResourceFile::setFileName( const QString &fileName ) 343void ResourceFile::setFileName( const QString &fileName )
327{ 344{
328#ifndef NO_DIRWATCH 345#ifndef NO_DIRWATCH
329 mDirWatch.stopScan(); 346 mDirWatch.stopScan();
330 mDirWatch.removeFile( mFileName ); 347 mDirWatch.removeFile( mFileName );
331 mFileName = fileName; 348 mFileName = fileName;
332 349
333 350
334 mDirWatch.addFile( mFileName ); 351 mDirWatch.addFile( mFileName );
335 mDirWatch.startScan(); 352 mDirWatch.startScan();
336#else 353#else
337 mFileName = fileName; 354 mFileName2 = fileName;
338#endif 355#endif
339 356
340//US simulate KDirWatch event 357//US simulate KDirWatch event
341//US fileChanged(); 358//US fileChanged();
342} 359}
343 360
344QString ResourceFile::fileName() const 361QString ResourceFile::fileName() const
345{ 362{
346 return mFileName; 363 return mFileName2;
347} 364}
348 365
349void ResourceFile::setFormat( const QString &format ) 366void ResourceFile::setFormat( const QString &format )
350{ 367{
351 mFormatName = format; 368 mFormatName = format;
352 delete mFormat; 369 delete mFormat;
353 370
354 FormatFactory *factory = FormatFactory::self(); 371 FormatFactory *factory = FormatFactory::self();
355 mFormat = factory->format( mFormatName ); 372 mFormat = factory->format( mFormatName );
356/*US 373/*US
357//qDebug("ResourceFile::setFormat initialized with format %s ", format.latin1()); 374//qDebug("ResourceFile::setFormat initialized with format %s ", format.latin1());
358 if (mFormatName == "vcard") { 375 if (mFormatName == "vcard") {
359 mFormat = new VCardFormatPlugin2(); 376 mFormat = new VCardFormatPlugin2();
360// qDebug("ResourceFile::setFormat format %s", mFormatName.latin1()); 377// qDebug("ResourceFile::setFormat format %s", mFormatName.latin1());
361 } 378 }
362 else if (mFormatName == "binary") { 379 else if (mFormatName == "binary") {
363 mFormat = new BinaryFormat(); 380 mFormat = new BinaryFormat();
364// qDebug("ResourceFile::setFormat format %s", mFormatName.latin1()); 381// qDebug("ResourceFile::setFormat format %s", mFormatName.latin1());
365 } 382 }
366 else 383 else
367 qDebug("ResourceFile::setFormat format unknown !!! %s ", format.latin1()); 384 qDebug("ResourceFile::setFormat format unknown !!! %s ", format.latin1());
368*/ 385*/
369 386
370} 387}
371 388
372QString ResourceFile::format() const 389QString ResourceFile::format() const
373{ 390{
374 return mFormatName; 391 return mFormatName;
375} 392}
376 393
377void ResourceFile::fileChanged() 394void ResourceFile::fileChanged()
378{ 395{
379 // There is a small theoretical chance that KDirWatch calls us before 396 // There is a small theoretical chance that KDirWatch calls us before
380 // we are fully constructed 397 // we are fully constructed
381 if (!addressBook()) 398 if (!addressBook())
382 return; 399 return;
383 400
384 401
385 QString text( i18n( "File resource '%1'<br> has been changed by third party.<br>Do you want to reload?").arg( mFileName ) ); 402 QString text( i18n( "File resource '%1'<br> has been changed by third party.<br>Do you want to reload?").arg( fileName() ) );
386 if ( readOnly() || KMessageBox::questionYesNo( 0, text ) == KMessageBox::Yes ) { 403 if ( readOnly() || KMessageBox::questionYesNo( 0, text ) == KMessageBox::Yes ) {
387 load(); 404 load();
388 addressBook()->emitAddressBookChanged(); 405 addressBook()->emitAddressBookChanged();
389 } 406 }
390} 407}
391 408
392void ResourceFile::removeAddressee( const Addressee &addr ) 409void ResourceFile::removeAddressee( const Addressee &addr )
393{ 410{
394 QFile::remove( QFile::encodeName( locateLocal( "data", "kabc/photos/" ) + addr.uid() ) ); 411 QFile::remove( QFile::encodeName( locateLocal( "data", "kabc/photos/" ) + addr.uid() ) );
395 QFile::remove( QFile::encodeName( locateLocal( "data", "kabc/logos/" ) + addr.uid() ) ); 412 QFile::remove( QFile::encodeName( locateLocal( "data", "kabc/logos/" ) + addr.uid() ) );
396 QFile::remove( QFile::encodeName( locateLocal( "data", "kabc/sounds/" ) + addr.uid() ) ); 413 QFile::remove( QFile::encodeName( locateLocal( "data", "kabc/sounds/" ) + addr.uid() ) );
397} 414}
398 415
399void ResourceFile::cleanUp() 416void ResourceFile::cleanUp()
400{ 417{
401 unlock( mFileName ); 418 unlock( fileName() );
402} 419}
403 420
404//US #include "resourcefile.moc" 421//US #include "resourcefile.moc"
diff --git a/kabc/plugins/file/resourcefile.h b/kabc/plugins/file/resourcefile.h
index b4421b2..dd38a9d 100644
--- a/kabc/plugins/file/resourcefile.h
+++ b/kabc/plugins/file/resourcefile.h
@@ -126,38 +126,38 @@ public:
126 QString format() const; 126 QString format() const;
127 127
128 /** 128 /**
129 * Remove a addressee from its source. 129 * Remove a addressee from its source.
130 * This method is mainly called by KABC::AddressBook. 130 * This method is mainly called by KABC::AddressBook.
131 */ 131 */
132 virtual void removeAddressee( const Addressee& addr ); 132 virtual void removeAddressee( const Addressee& addr );
133 133
134 /** 134 /**
135 * This method is called by an error handler if the application 135 * This method is called by an error handler if the application
136 * crashed 136 * crashed
137 */ 137 */
138 virtual void cleanUp(); 138 virtual void cleanUp();
139 139
140protected slots: 140protected slots:
141 void fileChanged(); 141 void fileChanged();
142 142
143protected: 143protected:
144 void init( const QString &fileName, const QString &format ); 144 void init( const QString &fileName, const QString &format );
145 145
146 bool lock( const QString &fileName ); 146 bool lock( const QString &fileName );
147 void unlock( const QString &fileName ); 147 void unlock( const QString &fileName );
148 148
149private: 149private:
150 QString mFileName; 150 QString mFileName2;
151 QString mFormatName; 151 QString mFormatName;
152 152
153 FormatPlugin *mFormat; 153 FormatPlugin *mFormat;
154 154
155 QString mLockUniqueName; 155 QString mLockUniqueName;
156#ifndef NO_DIRWATCH 156#ifndef NO_DIRWATCH
157 KDirWatch mDirWatch; 157 KDirWatch mDirWatch;
158#endif 158#endif
159}; 159};
160 160
161} 161}
162 162
163#endif 163#endif
diff --git a/microkde/kdatetbl.cpp b/microkde/kdatetbl.cpp
index d182279..2d97c8c 100644
--- a/microkde/kdatetbl.cpp
+++ b/microkde/kdatetbl.cpp
@@ -303,49 +303,49 @@ KDateTable::setFontSize(int size)
303 _font.setPointSize(fontsize); 303 _font.setPointSize(fontsize);
304 setFont( _font ); 304 setFont( _font );
305 _font.setBold( true ); 305 _font.setBold( true );
306 QFontMetrics metrics(_font); 306 QFontMetrics metrics(_font);
307 307
308 // ----- find largest day name: 308 // ----- find largest day name:
309 maxCell.setWidth(0); 309 maxCell.setWidth(0);
310 maxCell.setHeight(0); 310 maxCell.setHeight(0);
311 for(count=0; count<7; ++count) 311 for(count=0; count<7; ++count)
312 { 312 {
313 rect=metrics.boundingRect(KGlobal::locale()->weekDayName(count+1, true)); 313 rect=metrics.boundingRect(KGlobal::locale()->weekDayName(count+1, true));
314 maxCell.setWidth(QMAX(maxCell.width(), rect.width())); 314 maxCell.setWidth(QMAX(maxCell.width(), rect.width()));
315 maxCell.setHeight(QMAX(maxCell.height(), rect.height())); 315 maxCell.setHeight(QMAX(maxCell.height(), rect.height()));
316 } 316 }
317 // ----- compare with a real wide number and add some space: 317 // ----- compare with a real wide number and add some space:
318 rect=metrics.boundingRect(QString::fromLatin1("88")); 318 rect=metrics.boundingRect(QString::fromLatin1("88"));
319 maxCell.setWidth(QMAX(maxCell.width()+2, rect.width())); 319 maxCell.setWidth(QMAX(maxCell.width()+2, rect.width()));
320#ifdef DESKTOP_VERSION 320#ifdef DESKTOP_VERSION
321 maxCell.setHeight(QMAX(maxCell.height()+8, rect.height())); 321 maxCell.setHeight(QMAX(maxCell.height()+8, rect.height()));
322#else 322#else
323 maxCell.setHeight(QMAX(maxCell.height()+4, rect.height())); 323 maxCell.setHeight(QMAX(maxCell.height()+4, rect.height()));
324#endif 324#endif
325 if ( maxCell.width() * 1000 / maxCell.height() > 1900 ) { 325 if ( maxCell.width() * 1000 / maxCell.height() > 1900 ) {
326 maxCell.setHeight(maxCell.width() * 1000 / 1900 ); 326 maxCell.setHeight(maxCell.width() * 1000 / 1900 );
327 qDebug("setmax "); 327 //qDebug("setmax ");
328 } 328 }
329} 329}
330 330
331void 331void
332KDateTable::contentsMousePressEvent(QMouseEvent *e) 332KDateTable::contentsMousePressEvent(QMouseEvent *e)
333{ 333{
334 if(e->type()!=QEvent::MouseButtonPress) 334 if(e->type()!=QEvent::MouseButtonPress)
335 { // the KDatePicker only reacts on mouse press events: 335 { // the KDatePicker only reacts on mouse press events:
336 return; 336 return;
337 } 337 }
338 if(!isEnabled()) 338 if(!isEnabled())
339 { 339 {
340 KNotifyClient::beep(); 340 KNotifyClient::beep();
341 return; 341 return;
342 } 342 }
343 343
344 int dayoff = KGlobal::locale()->weekStartsMonday() ? 1 : 0; 344 int dayoff = KGlobal::locale()->weekStartsMonday() ? 1 : 0;
345 // ----- 345 // -----
346 int row, col, pos, temp; 346 int row, col, pos, temp;
347 QPoint mouseCoord; 347 QPoint mouseCoord;
348 // ----- 348 // -----
349 mouseCoord = e->pos(); 349 mouseCoord = e->pos();
350 row=rowAt(mouseCoord.y()); 350 row=rowAt(mouseCoord.y());
351 col=columnAt(mouseCoord.x()); 351 col=columnAt(mouseCoord.x());
diff --git a/microkde/kdecore/kstandarddirs.cpp b/microkde/kdecore/kstandarddirs.cpp
index 810c889..4ab1a68 100644
--- a/microkde/kdecore/kstandarddirs.cpp
+++ b/microkde/kdecore/kstandarddirs.cpp
@@ -1182,49 +1182,49 @@ bool KStandardDirs::makeDir(const QString& dir2, int mode)
1182 1182
1183 if ( mkdir(baseEncoded, (mode_t) mode) != 0) { 1183 if ( mkdir(baseEncoded, (mode_t) mode) != 0) {
1184 perror("trying to create local folder"); 1184 perror("trying to create local folder");
1185 return false; // Couldn't create it :-( 1185 return false; // Couldn't create it :-(
1186 } 1186 }
1187 } 1187 }
1188*/ 1188*/
1189 1189
1190 if (dirObj.exists(base) == false) 1190 if (dirObj.exists(base) == false)
1191 { 1191 {
1192 //qDebug("KStandardDirs::makeDir try to create : %s" , base.latin1()); 1192 //qDebug("KStandardDirs::makeDir try to create : %s" , base.latin1());
1193 if (dirObj.mkdir(base) != true) 1193 if (dirObj.mkdir(base) != true)
1194 { 1194 {
1195 qDebug("KStandardDirs::makeDir could not create: %s" , base.latin1()); 1195 qDebug("KStandardDirs::makeDir could not create: %s" , base.latin1());
1196 return false; 1196 return false;
1197 } 1197 }
1198 } 1198 }
1199 1199
1200 i = pos + 1; 1200 i = pos + 1;
1201 } 1201 }
1202 return true; 1202 return true;
1203 1203
1204} 1204}
1205 1205
1206static QString readEnvPath(const char *env) 1206QString readEnvPath(const char *env)
1207{ 1207{
1208 //#ifdef _WIN32_ 1208 //#ifdef _WIN32_
1209 // return ""; 1209 // return "";
1210 //#else 1210 //#else
1211 QCString c_path; 1211 QCString c_path;
1212 if ( getenv(env) != NULL ) 1212 if ( getenv(env) != NULL )
1213 c_path = QString ( getenv(env) ); 1213 c_path = QString ( getenv(env) );
1214 if (c_path.isEmpty()) 1214 if (c_path.isEmpty())
1215 return QString::null; 1215 return QString::null;
1216 return QFile::decodeName(c_path); 1216 return QFile::decodeName(c_path);
1217 //#endif 1217 //#endif
1218 1218
1219} 1219}
1220 1220
1221void KStandardDirs::addKDEDefaults() 1221void KStandardDirs::addKDEDefaults()
1222{ 1222{
1223 1223
1224 //qDebug("ERROR: KStandardDirs::addKDEDefaults() called "); 1224 //qDebug("ERROR: KStandardDirs::addKDEDefaults() called ");
1225 //return; 1225 //return;
1226 QStringList kdedirList; 1226 QStringList kdedirList;
1227 1227
1228 // begin KDEDIRS 1228 // begin KDEDIRS
1229 QString kdedirs = readEnvPath("MICROKDEDIRS"); 1229 QString kdedirs = readEnvPath("MICROKDEDIRS");
1230 if (!kdedirs.isEmpty()) 1230 if (!kdedirs.isEmpty())
@@ -1285,48 +1285,50 @@ void KStandardDirs::addKDEDefaults()
1285 { 1285 {
1286 QString confFile; 1286 QString confFile;
1287#ifdef DESKTOP_VERSION 1287#ifdef DESKTOP_VERSION
1288 confFile = qApp->applicationDirPath ()+ "/.microkdehome" ; 1288 confFile = qApp->applicationDirPath ()+ "/.microkdehome" ;
1289 QFileInfo fi ( confFile ); 1289 QFileInfo fi ( confFile );
1290 if ( !fi.exists() ) 1290 if ( !fi.exists() )
1291 confFile = QDir::homeDirPath() + "/.microkdehome"; 1291 confFile = QDir::homeDirPath() + "/.microkdehome";
1292 else 1292 else
1293 qDebug("Loading path info from " + confFile ); 1293 qDebug("Loading path info from " + confFile );
1294 1294
1295#else 1295#else
1296 confFile = QDir::homeDirPath() + "/.microkdehome"; 1296 confFile = QDir::homeDirPath() + "/.microkdehome";
1297#endif 1297#endif
1298 KConfig cfg ( confFile ); 1298 KConfig cfg ( confFile );
1299 cfg.setGroup("Global"); 1299 cfg.setGroup("Global");
1300 localKdeDir = cfg.readEntry( "MICROKDEHOME", QDir::homeDirPath() + "/kdepim/" ); 1300 localKdeDir = cfg.readEntry( "MICROKDEHOME", QDir::homeDirPath() + "/kdepim/" );
1301#ifdef DESKTOP_VERSION 1301#ifdef DESKTOP_VERSION
1302 if ( localKdeDir.startsWith( "LOCAL:" ) ) { 1302 if ( localKdeDir.startsWith( "LOCAL:" ) ) {
1303#ifdef _WIN32_ 1303#ifdef _WIN32_
1304 localKdeDir = qApp->applicationDirPath () + "\\"+ localKdeDir.mid( 6 ); 1304 localKdeDir = qApp->applicationDirPath () + "\\"+ localKdeDir.mid( 6 );
1305#else 1305#else
1306 localKdeDir = qApp->applicationDirPath () + "/"+ localKdeDir.mid( 6 ); 1306 localKdeDir = qApp->applicationDirPath () + "/"+ localKdeDir.mid( 6 );
1307#endif 1307#endif
1308 qDebug("Using local conf dir %s ",localKdeDir.latin1() ); 1308 qDebug("Using local conf dir %s ",localKdeDir.latin1() );
1309 // <stdlib.h>
1310 setenv( "LOCALMICROKDEHOME", localKdeDir.latin1(), 1 );
1309 } 1311 }
1310#endif 1312#endif
1311 } 1313 }
1312 } 1314 }
1313 else 1315 else
1314 { 1316 {
1315 // We treat root different to prevent root messing up the 1317 // We treat root different to prevent root messing up the
1316 // file permissions in the users home directory. 1318 // file permissions in the users home directory.
1317 localKdeDir = readEnvPath("MICROKDEROOTHOME"); 1319 localKdeDir = readEnvPath("MICROKDEROOTHOME");
1318 if (!localKdeDir.isEmpty()) 1320 if (!localKdeDir.isEmpty())
1319 { 1321 {
1320 if (localKdeDir.at(localKdeDir.length()-1) != '/') 1322 if (localKdeDir.at(localKdeDir.length()-1) != '/')
1321 localKdeDir += '/'; 1323 localKdeDir += '/';
1322 } 1324 }
1323 else 1325 else
1324 { 1326 {
1325//US struct passwd *pw = getpwuid(0); 1327//US struct passwd *pw = getpwuid(0);
1326//US localKdeDir = QFile::decodeName((pw && pw->pw_dir) ? pw->pw_dir : "/root") + "/.microkde/"; 1328//US localKdeDir = QFile::decodeName((pw && pw->pw_dir) ? pw->pw_dir : "/root") + "/.microkde/";
1327 qDebug("KStandardDirs::addKDEDefaults: 1 has to be fixed"); 1329 qDebug("KStandardDirs::addKDEDefaults: 1 has to be fixed");
1328 } 1330 }
1329 1331
1330 } 1332 }
1331 1333
1332//US localKdeDir = appDir(); 1334//US localKdeDir = appDir();
diff --git a/microkde/kdecore/kstandarddirs.h b/microkde/kdecore/kstandarddirs.h
index bee864e..901384e 100644
--- a/microkde/kdecore/kstandarddirs.h
+++ b/microkde/kdecore/kstandarddirs.h
@@ -626,56 +626,60 @@ public:
626 * ... 626 * ...
627 * doSomething(myData); 627 * doSomething(myData);
628 * ... 628 * ...
629 * myFile = locateLocal("appdata", "groups.lst"); 629 * myFile = locateLocal("appdata", "groups.lst");
630 * myWriteGroups(myFile, myData); 630 * myWriteGroups(myFile, myData);
631 * \endcode 631 * \endcode
632 * 632 *
633 * 3) A resource file is read and written. No system default 633 * 3) A resource file is read and written. No system default
634 * is used if the user has no local version of the file. 634 * is used if the user has no local version of the file.
635 * The resource file is always written to the users local 635 * The resource file is always written to the users local
636 * .kde directory. 636 * .kde directory.
637 * 637 *
638 * \code 638 * \code
639 * // Code example 639 * // Code example
640 * myFile = locateLocal("appdata", "groups.lst"); 640 * myFile = locateLocal("appdata", "groups.lst");
641 * myData = myReadGroups(myFile); 641 * myData = myReadGroups(myFile);
642 * ... 642 * ...
643 * doSomething(myData); 643 * doSomething(myData);
644 * ... 644 * ...
645 * myFile = locateLocal("appdata", "groups.lst"); 645 * myFile = locateLocal("appdata", "groups.lst");
646 * myWriteGroups(myFile, myData); 646 * myWriteGroups(myFile, myData);
647 * \endcode 647 * \endcode
648 **/ 648 **/
649 649
650
650/*! 651/*!
651 * \relates KStandardDirs 652 * \relates KStandardDirs
652 * This function is just for convenience. It simply calls 653 * This function is just for convenience. It simply calls
653 *instance->dirs()->\link KStandardDirs::findResource() findResource\endlink(type, filename). 654 *instance->dirs()->\link KStandardDirs::findResource() findResource\endlink(type, filename).
654 **/ 655 **/
655QString locate( const char *type, const QString& filename /*US , const KInstance* instance = KGlobal::instance()*/ ); 656QString locate( const char *type, const QString& filename /*US , const KInstance* instance = KGlobal::instance()*/ );
656 657
657/*! 658/*!
658 * \relates KStandardDirs 659 * \relates KStandardDirs
659 * This function is much like locate. However it returns a 660 * This function is much like locate. However it returns a
660 * filename suitable for writing to. No check is made if the 661 * filename suitable for writing to. No check is made if the
661 * specified filename actually exists. Missing directories 662 * specified filename actually exists. Missing directories
662 * are created. If filename is only a directory, without a 663 * are created. If filename is only a directory, without a
663 * specific file, filename must have a trailing slash. 664 * specific file, filename must have a trailing slash.
664 * 665 *
665 **/ 666 **/
666QString locateLocal( const char *type, const QString& filename /*US , const KInstance* instance = KGlobal::instance() */ ); 667QString locateLocal( const char *type, const QString& filename /*US , const KInstance* instance = KGlobal::instance() */ );
667 668
668/*! 669/*!
669 * \relates KStandardDirs 670 * \relates KStandardDirs
670 * This function is much like locate. No check is made if the 671 * This function is much like locate. No check is made if the
671 * specified filename actually exists. Missing directories 672 * specified filename actually exists. Missing directories
672 * are created if @p createDir is true. If filename is only 673 * are created if @p createDir is true. If filename is only
673 * a directory, without a specific file, 674 * a directory, without a specific file,
674 * filename must have a trailing slash. 675 * filename must have a trailing slash.
675 * 676 *
676 **/ 677 **/
677QString locateLocal( const char *type, const QString& filename, bool createDir /*US , const KInstance* instance = KGlobal::instance() */); 678QString locateLocal( const char *type, const QString& filename, bool createDir /*US , const KInstance* instance = KGlobal::instance() */);
678 679
680QString readEnvPath(const char *env);
681
682
679/*! @} */ 683/*! @} */
680 684
681#endif // SSK_KSTDDIRS_H 685#endif // SSK_KSTDDIRS_H