summaryrefslogtreecommitdiffabout
path: root/libkcal
authorzautrix <zautrix>2004-10-18 09:08:13 (UTC)
committer zautrix <zautrix>2004-10-18 09:08:13 (UTC)
commit56990d318b15eacf7d3cc7425ab62f68da099ddf (patch) (unidiff)
treeb2f021bd75bc6a08fa8fc51a07ce1755b8e4a95e /libkcal
parent1712d92ea25b220273859d985bc7211fa7a97a39 (diff)
downloadkdepimpi-56990d318b15eacf7d3cc7425ab62f68da099ddf.zip
kdepimpi-56990d318b15eacf7d3cc7425ab62f68da099ddf.tar.gz
kdepimpi-56990d318b15eacf7d3cc7425ab62f68da099ddf.tar.bz2
fix of tmp file path for desktop version
Diffstat (limited to 'libkcal') (more/less context) (ignore whitespace changes)
-rw-r--r--libkcal/phoneformat.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/libkcal/phoneformat.cpp b/libkcal/phoneformat.cpp
index 101db57..900fc04 100644
--- a/libkcal/phoneformat.cpp
+++ b/libkcal/phoneformat.cpp
@@ -245,97 +245,97 @@ ulong PhoneFormat::getCsumEvent( Event* event )
245 } else { 245 } else {
246 list.append( "0" ); 246 list.append( "0" );
247 list.append( "20991231T000000" ); 247 list.append( "20991231T000000" );
248 } 248 }
249 249
250 } 250 }
251 attList << list.join(""); 251 attList << list.join("");
252 attList << event->categoriesStr(); 252 attList << event->categoriesStr();
253 //qDebug("csum cat %s", event->categoriesStr().latin1()); 253 //qDebug("csum cat %s", event->categoriesStr().latin1());
254 254
255 attList << event->secrecyStr(); 255 attList << event->secrecyStr();
256 return PhoneFormat::getCsum(attList ); 256 return PhoneFormat::getCsum(attList );
257} 257}
258ulong PhoneFormat::getCsum( const QStringList & attList) 258ulong PhoneFormat::getCsum( const QStringList & attList)
259{ 259{
260 int max = attList.count(); 260 int max = attList.count();
261 ulong cSum = 0; 261 ulong cSum = 0;
262 int j,k,i; 262 int j,k,i;
263 int add; 263 int add;
264 for ( i = 0; i < max ; ++i ) { 264 for ( i = 0; i < max ; ++i ) {
265 QString s = attList[i]; 265 QString s = attList[i];
266 if ( ! s.isEmpty() ){ 266 if ( ! s.isEmpty() ){
267 j = s.length(); 267 j = s.length();
268 for ( k = 0; k < j; ++k ) { 268 for ( k = 0; k < j; ++k ) {
269 int mul = k +1; 269 int mul = k +1;
270 add = s[k].unicode (); 270 add = s[k].unicode ();
271 if ( k < 16 ) 271 if ( k < 16 )
272 mul = mul * mul; 272 mul = mul * mul;
273 int ii = i+1; 273 int ii = i+1;
274 add = add * mul *ii*ii*ii; 274 add = add * mul *ii*ii*ii;
275 cSum += add; 275 cSum += add;
276 } 276 }
277 } 277 }
278 278
279 } 279 }
280 //QString dump = attList.join(","); 280 //QString dump = attList.join(",");
281 //qDebug("csum: %d %s", cSum,dump.latin1()); 281 //qDebug("csum: %d %s", cSum,dump.latin1());
282 282
283 return cSum; 283 return cSum;
284 284
285} 285}
286//extern "C" GSM_Error GSM_InitConnection(GSM_StateMachine *s, int ReplyNum); 286//extern "C" GSM_Error GSM_InitConnection(GSM_StateMachine *s, int ReplyNum);
287#include <stdlib.h> 287#include <stdlib.h>
288#define DEBUGMODE false 288#define DEBUGMODE false
289bool PhoneFormat::load( Calendar *calendar, Calendar *existingCal) 289bool PhoneFormat::load( Calendar *calendar, Calendar *existingCal)
290{ 290{
291 291
292 QString fileName; 292 QString fileName;
293#ifdef _WIN32_ 293#ifdef DESKTOP_VERSION
294 fileName = locateLocal("tmp", "phonefile.vcs"); 294 fileName = locateLocal("tmp", "phonefile.vcs");
295#else 295#else
296 fileName = "/tmp/phonefile.vcs"; 296 fileName = "/tmp/phonefile.vcs";
297#endif 297#endif
298 QString command; 298 QString command;
299 if ( ! PhoneAccess::readFromPhone( fileName )) { 299 if ( ! PhoneAccess::readFromPhone( fileName )) {
300 return false; 300 return false;
301 } 301 }
302 VCalFormat vfload; 302 VCalFormat vfload;
303 vfload.setLocalTime ( true ); 303 vfload.setLocalTime ( true );
304 qDebug("loading file ..."); 304 qDebug("loading file ...");
305 305
306 if ( ! vfload.load( calendar, fileName ) ) 306 if ( ! vfload.load( calendar, fileName ) )
307 return false; 307 return false;
308 QPtrList<Event> er = calendar->rawEvents(); 308 QPtrList<Event> er = calendar->rawEvents();
309 Event* ev = er.first(); 309 Event* ev = er.first();
310 qDebug("reading events... "); 310 qDebug("reading events... ");
311 while ( ev ) { 311 while ( ev ) {
312 QStringList cat = ev->categories(); 312 QStringList cat = ev->categories();
313 if ( cat.contains( "MeetingDEF" )) { 313 if ( cat.contains( "MeetingDEF" )) {
314 ev->setCategories( QStringList() ); 314 ev->setCategories( QStringList() );
315 } else 315 } else
316 if ( cat.contains( "Birthday" )) { 316 if ( cat.contains( "Birthday" )) {
317 ev->setFloats( true ); 317 ev->setFloats( true );
318 QDate da = ev->dtStart().date(); 318 QDate da = ev->dtStart().date();
319 ev->setDtStart( QDateTime( da) ); 319 ev->setDtStart( QDateTime( da) );
320 ev->setDtEnd( QDateTime( da.addDays(1)) ); 320 ev->setDtEnd( QDateTime( da.addDays(1)) );
321 321
322 } 322 }
323 uint cSum; 323 uint cSum;
324 cSum = PhoneFormat::getCsumEvent( ev ); 324 cSum = PhoneFormat::getCsumEvent( ev );
325 int id = ev->pilotId(); 325 int id = ev->pilotId();
326 Event *event; 326 Event *event;
327 event = existingCal->event( mProfileName ,QString::number( id ) ); 327 event = existingCal->event( mProfileName ,QString::number( id ) );
328 if ( event ) { 328 if ( event ) {
329 event = (Event*)event->clone(); 329 event = (Event*)event->clone();
330 copyEvent( event, ev ); 330 copyEvent( event, ev );
331 calendar->deleteEvent( ev ); 331 calendar->deleteEvent( ev );
332 calendar->addEvent( event); 332 calendar->addEvent( event);
333 } 333 }
334 else 334 else
335 event = ev; 335 event = ev;
336 event->setCsum( mProfileName, QString::number( cSum )); 336 event->setCsum( mProfileName, QString::number( cSum ));
337 event->setTempSyncStat( SYNC_TEMPSTATE_NEW_EXTERNAL ); 337 event->setTempSyncStat( SYNC_TEMPSTATE_NEW_EXTERNAL );
338 event->setID( mProfileName,QString::number( id ) ); 338 event->setID( mProfileName,QString::number( id ) );
339 ev = er.next(); 339 ev = er.next();
340 } 340 }
341 { 341 {
@@ -432,97 +432,97 @@ void PhoneFormat::copyTodo( Todo* to, Todo* from )
432 to->clearAlarms(); 432 to->clearAlarms();
433 Alarm *a = from->alarms().first(); 433 Alarm *a = from->alarms().first();
434 Alarm *b = to->newAlarm( ); 434 Alarm *b = to->newAlarm( );
435 b->setEnabled( a->enabled() ); 435 b->setEnabled( a->enabled() );
436 b->setStartOffset(Duration( a->offset() ) ); 436 b->setStartOffset(Duration( a->offset() ) );
437 } 437 }
438 438
439 QStringList cat = to->categories(); 439 QStringList cat = to->categories();
440 QStringList catFrom = from->categories(); 440 QStringList catFrom = from->categories();
441 QString nCat; 441 QString nCat;
442 int iii; 442 int iii;
443 for ( iii = 0; iii < catFrom.count();++iii ) { 443 for ( iii = 0; iii < catFrom.count();++iii ) {
444 nCat = catFrom[iii]; 444 nCat = catFrom[iii];
445 if ( !nCat.isEmpty() ) 445 if ( !nCat.isEmpty() )
446 if ( !cat.contains( nCat )) { 446 if ( !cat.contains( nCat )) {
447 cat << nCat; 447 cat << nCat;
448 } 448 }
449 } 449 }
450 to->setCategories( cat ); 450 to->setCategories( cat );
451 if ( from->isCompleted() ) { 451 if ( from->isCompleted() ) {
452 to->setCompleted( true ); 452 to->setCompleted( true );
453 if( from->completed().isValid() ) 453 if( from->completed().isValid() )
454 to->setCompleted( from->completed() ); 454 to->setCompleted( from->completed() );
455 } else { 455 } else {
456 // set percentcomplete only, if to->isCompleted() 456 // set percentcomplete only, if to->isCompleted()
457 if ( to->isCompleted() ) 457 if ( to->isCompleted() )
458 to->setPercentComplete(from->percentComplete()); 458 to->setPercentComplete(from->percentComplete());
459 } 459 }
460 if( to->priority() == 2 && from->priority() == 1 ) 460 if( to->priority() == 2 && from->priority() == 1 )
461 ; //skip 461 ; //skip
462 else if (to->priority() == 4 && from->priority() == 5 ) 462 else if (to->priority() == 4 && from->priority() == 5 )
463 ; 463 ;
464 else 464 else
465 to->setPriority(from->priority()); 465 to->setPriority(from->priority());
466 466
467} 467}
468#include <qcstring.h> 468#include <qcstring.h>
469 469
470void PhoneFormat::afterSave( Incidence* inc,const QString& id ,const QString& csum) 470void PhoneFormat::afterSave( Incidence* inc,const QString& id ,const QString& csum)
471{ 471{
472 inc->setID( mProfileName, id ); 472 inc->setID( mProfileName, id );
473 inc->setCsum( mProfileName, csum); 473 inc->setCsum( mProfileName, csum);
474 inc->setTempSyncStat( SYNC_TEMPSTATE_NEW_ID ); 474 inc->setTempSyncStat( SYNC_TEMPSTATE_NEW_ID );
475 475
476} 476}
477 477
478bool PhoneFormat::writeToPhone( Calendar * calendar) 478bool PhoneFormat::writeToPhone( Calendar * calendar)
479{ 479{
480#ifdef _WIN32_ 480#ifdef DESKTOP_VERSION
481 QString fileName = locateLocal("tmp", "phonefile.vcs"); 481 QString fileName = locateLocal("tmp", "phonefile.vcs");
482#else 482#else
483 QString fileName = "/tmp/phonefile.vcs"; 483 QString fileName = "/tmp/phonefile.vcs";
484#endif 484#endif
485 485
486 VCalFormat vfsave; 486 VCalFormat vfsave;
487 vfsave.setLocalTime ( true ); 487 vfsave.setLocalTime ( true );
488 QString id = calendar->timeZoneId(); 488 QString id = calendar->timeZoneId();
489 calendar->setLocalTime(); 489 calendar->setLocalTime();
490 if ( ! vfsave.save( calendar, fileName ) ) 490 if ( ! vfsave.save( calendar, fileName ) )
491 return false; 491 return false;
492 calendar->setTimeZoneId( id ); 492 calendar->setTimeZoneId( id );
493 return PhoneAccess::writeToPhone( fileName ); 493 return PhoneAccess::writeToPhone( fileName );
494} 494}
495bool PhoneFormat::save( Calendar *calendar) 495bool PhoneFormat::save( Calendar *calendar)
496{ 496{
497 497
498 498
499 // 1 remove events which should be deleted 499 // 1 remove events which should be deleted
500 QPtrList<Event> er = calendar->rawEvents(); 500 QPtrList<Event> er = calendar->rawEvents();
501 Event* ev = er.first(); 501 Event* ev = er.first();
502 while ( ev ) { 502 while ( ev ) {
503 if ( ev->tempSyncStat() == SYNC_TEMPSTATE_DELETE ) { 503 if ( ev->tempSyncStat() == SYNC_TEMPSTATE_DELETE ) {
504 calendar->deleteEvent( ev ); 504 calendar->deleteEvent( ev );
505 } else { 505 } else {
506 506
507 } 507 }
508 ev = er.next(); 508 ev = er.next();
509 } 509 }
510 // 2 remove todos which should be deleted 510 // 2 remove todos which should be deleted
511 QPtrList<Todo> tl = calendar->rawTodos(); 511 QPtrList<Todo> tl = calendar->rawTodos();
512 Todo* to = tl.first(); 512 Todo* to = tl.first();
513 while ( to ) { 513 while ( to ) {
514 if ( to->tempSyncStat() == SYNC_TEMPSTATE_DELETE ) { 514 if ( to->tempSyncStat() == SYNC_TEMPSTATE_DELETE ) {
515 calendar->deleteTodo( to ); 515 calendar->deleteTodo( to );
516 } else { 516 } else {
517 if ( to->isCompleted()) { 517 if ( to->isCompleted()) {
518 calendar->deleteTodo( to ); 518 calendar->deleteTodo( to );
519 } 519 }
520 } 520 }
521 to = tl.next(); 521 to = tl.next();
522 } 522 }
523 // 3 save file 523 // 3 save file
524 if ( !writeToPhone( calendar ) ) 524 if ( !writeToPhone( calendar ) )
525 return false; 525 return false;
526 QLabel status ( i18n(" Opening device ..."), 0 ); 526 QLabel status ( i18n(" Opening device ..."), 0 );
527 int w = status.sizeHint().width()+20 ; 527 int w = status.sizeHint().width()+20 ;
528 if ( w < 200 ) w = 230; 528 if ( w < 200 ) w = 230;