summaryrefslogtreecommitdiffabout
path: root/libkcal/sharpformat.cpp
Unidiff
Diffstat (limited to 'libkcal/sharpformat.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libkcal/sharpformat.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/libkcal/sharpformat.cpp b/libkcal/sharpformat.cpp
index a53b3f8..e7fc670 100644
--- a/libkcal/sharpformat.cpp
+++ b/libkcal/sharpformat.cpp
@@ -472,24 +472,27 @@ int SharpFormat::getNumFromRecord( QString answer, Incidence* inc )
472 } 472 }
473 ++ccc; 473 ++ccc;
474 if ( ccc == 2 && loopCount < 25 ) { 474 if ( ccc == 2 && loopCount < 25 ) {
475 start = 0; 475 start = 0;
476 bool ok; 476 bool ok;
477 int newnum = templist[0].toInt( &ok ); 477 int newnum = templist[0].toInt( &ok );
478 if ( ok && newnum > 0) { 478 if ( ok && newnum > 0) {
479 retval = newnum; 479 retval = newnum;
480 inc->setID( "Sharp_DTM",templist[0] ); 480 inc->setID( "Sharp_DTM",templist[0] );
481 inc->setCsum( "Sharp_DTM", QString::number( getCsum( templist ) )); 481 inc->setCsum( "Sharp_DTM", QString::number( getCsum( templist ) ));
482 inc->setTempSyncStat( SYNC_TEMPSTATE_NEW_ID ); 482 inc->setTempSyncStat( SYNC_TEMPSTATE_NEW_ID );
483 } 483 }
484 if ( ok && newnum == -1 ) {
485 qDebug("Error writing back %s ", inc->summary().latin1());
486 }
484 } 487 }
485 } 488 }
486 //qDebug("getNumFromRecord returning : %d ", retval); 489 //qDebug("getNumFromRecord returning : %d ", retval);
487 return retval; 490 return retval;
488} 491}
489bool SharpFormat::save( Calendar *calendar) 492bool SharpFormat::save( Calendar *calendar)
490{ 493{
491 494
492 QLabel status ( i18n("Processing/adding events ..."), 0 ); 495 QLabel status ( i18n("Processing/adding events ..."), 0 );
493 int w = status.sizeHint().width()+20 ; 496 int w = status.sizeHint().width()+20 ;
494 if ( w < 200 ) w = 200; 497 if ( w < 200 ) w = 200;
495 int h = status.sizeHint().height()+20 ; 498 int h = status.sizeHint().height()+20 ;
@@ -523,25 +526,38 @@ bool SharpFormat::save( Calendar *calendar)
523 qApp->processEvents(); 526 qApp->processEvents();
524 QString eString = getEventString( ev ); 527 QString eString = getEventString( ev );
525 if ( ev->tempSyncStat() == SYNC_TEMPSTATE_DELETE ) { // delete 528 if ( ev->tempSyncStat() == SYNC_TEMPSTATE_DELETE ) { // delete
526 // deleting empty strings does not work. 529 // deleting empty strings does not work.
527 // we write first and x and then delete the record with the x 530 // we write first and x and then delete the record with the x
528 eString = eString.replace( QRegExp(",\"\""),",\"x\"" ); 531 eString = eString.replace( QRegExp(",\"\""),",\"x\"" );
529 changeString += eString + "\n"; 532 changeString += eString + "\n";
530 deleteString += eString + "\n"; 533 deleteString += eString + "\n";
531 deleteEnt = true; 534 deleteEnt = true;
532 changeEnt = true; 535 changeEnt = true;
533 } 536 }
534 else if ( ev->getID("Sharp_DTM").isEmpty() ) { // add new 537 else if ( ev->getID("Sharp_DTM").isEmpty() ) { // add new
535 command = "(echo \"" + ePrefix + eString + "\" ) | db2file datebook -w -g -c " + codec+ " > "+ fileName; 538 QString fileNameIn = "/tmp/kopitempin";
539 QFile fileIn( fileNameIn );
540 if (!fileIn.open( IO_WriteOnly ) ) {
541 return false;
542 }
543 QTextStream tsIn( &fileIn );
544 tsIn.setCodec( QTextCodec::codecForName("utf8") );
545 tsIn << ePrefix << eString ;
546 fileIn.close();
547 //command = "(echo \"" + ePrefix + eString + "\" ) | db2file datebook -w -g -c " + codec+ " > "+ fileName;
548 command = "(cat /tmp/kopitempin | db2file datebook -w -g -c " + codec+ ") > "+ fileName;
549 qDebug("command ++++++++ ");
550 qDebug("%s ",command.latin1());
551 qDebug("command -------- ");
536 system ( command.utf8() ); 552 system ( command.utf8() );
537 QFile file( fileName ); 553 QFile file( fileName );
538 if (!file.open( IO_ReadOnly ) ) { 554 if (!file.open( IO_ReadOnly ) ) {
539 return false; 555 return false;
540 556
541 } 557 }
542 QTextStream ts( &file ); 558 QTextStream ts( &file );
543 ts.setCodec( QTextCodec::codecForName("utf8") ); 559 ts.setCodec( QTextCodec::codecForName("utf8") );
544 answer = ts.read(); 560 answer = ts.read();
545 file.close(); 561 file.close();
546 //qDebug("answer \n%s ", answer.latin1()); 562 //qDebug("answer \n%s ", answer.latin1());
547 getNumFromRecord( answer, ev ) ; 563 getNumFromRecord( answer, ev ) ;