summaryrefslogtreecommitdiff
path: root/libopie2/opiepim/backend/otodoaccessxml.cpp
authorerik <erik>2007-01-10 02:48:16 (UTC)
committer erik <erik>2007-01-10 02:48:16 (UTC)
commit3c4c894bcdb1e49ce4d3e8167c8a21b1c617037d (patch) (unidiff)
tree116c28349992668c69756a46fa90838889b21a6b /libopie2/opiepim/backend/otodoaccessxml.cpp
parent5e9659c695af1d1afb20a377775f1349b83eca53 (diff)
downloadopie-3c4c894bcdb1e49ce4d3e8167c8a21b1c617037d.zip
opie-3c4c894bcdb1e49ce4d3e8167c8a21b1c617037d.tar.gz
opie-3c4c894bcdb1e49ce4d3e8167c8a21b1c617037d.tar.bz2
BUG: The todo program was printing bad XML output of recurring items
because the code lacked a space between two entities. FIX: Add a space. NOTE: The code was additionally reworked to make the spaces more noticable to the author of the patch. Thanks goes to Paul Eggleton who provided the patch! This fixes Opie bug 1753: http://opie-bugs.oszine.de/view.php?id=1753
Diffstat (limited to 'libopie2/opiepim/backend/otodoaccessxml.cpp') (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opiepim/backend/otodoaccessxml.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/libopie2/opiepim/backend/otodoaccessxml.cpp b/libopie2/opiepim/backend/otodoaccessxml.cpp
index ab50604..7a08f12 100644
--- a/libopie2/opiepim/backend/otodoaccessxml.cpp
+++ b/libopie2/opiepim/backend/otodoaccessxml.cpp
@@ -549,49 +549,49 @@ QString OPimTodoAccessXML::toString( const OPimTodo& ev )const {
549 str += "Progress=\"" + QString::number(ev.progress() ) + "\" "; 549 str += "Progress=\"" + QString::number(ev.progress() ) + "\" ";
550 550
551 str += "Categories=\"" + toString( ev.categories() ) + "\" "; 551 str += "Categories=\"" + toString( ev.categories() ) + "\" ";
552 str += "Description=\"" + Qtopia::escapeString( ev.description() ) + "\" "; 552 str += "Description=\"" + Qtopia::escapeString( ev.description() ) + "\" ";
553 str += "Summary=\"" + Qtopia::escapeString( ev.summary() ) + "\" "; 553 str += "Summary=\"" + Qtopia::escapeString( ev.summary() ) + "\" ";
554 554
555 if ( ev.hasDueDate() ) { 555 if ( ev.hasDueDate() ) {
556 str += "DateYear=\"" + QString::number( ev.dueDate().year() ) + "\" "; 556 str += "DateYear=\"" + QString::number( ev.dueDate().year() ) + "\" ";
557 str += "DateMonth=\"" + QString::number( ev.dueDate().month() ) + "\" "; 557 str += "DateMonth=\"" + QString::number( ev.dueDate().month() ) + "\" ";
558 str += "DateDay=\"" + QString::number( ev.dueDate().day() ) + "\" "; 558 str += "DateDay=\"" + QString::number( ev.dueDate().day() ) + "\" ";
559 } 559 }
560 str += "Uid=\"" + QString::number( ev.uid() ) + "\" "; 560 str += "Uid=\"" + QString::number( ev.uid() ) + "\" ";
561 561
562// append the extra options 562// append the extra options
563 /* FIXME Qtopia::Record this is currently not 563 /* FIXME Qtopia::Record this is currently not
564 * possible you can set custom fields 564 * possible you can set custom fields
565 * but don' iterate over the list 565 * but don' iterate over the list
566 * I may do #define private protected 566 * I may do #define private protected
567 * for this case - cough --zecke 567 * for this case - cough --zecke
568 */ 568 */
569 /* 569 /*
570 QMap<QString, QString> extras = ev.extras(); 570 QMap<QString, QString> extras = ev.extras();
571 QMap<QString, QString>::Iterator extIt; 571 QMap<QString, QString>::Iterator extIt;
572 for (extIt = extras.begin(); extIt != extras.end(); ++extIt ) 572 for (extIt = extras.begin(); extIt != extras.end(); ++extIt )
573 str += extIt.key() + "=\"" + extIt.data() + "\" "; 573 str += " " + extIt.key() + "=\"" + extIt.data() + "\"";
574 */ 574 */
575 // cross refernce 575 // cross refernce
576 if ( ev.hasRecurrence() ) { 576 if ( ev.hasRecurrence() ) {
577 str += ev.recurrence().toString(); 577 str += ev.recurrence().toString();
578 } 578 }
579 if ( ev.hasStartDate() ) 579 if ( ev.hasStartDate() )
580 str += "StartDate=\""+ OPimDateConversion::dateToString( ev.startDate() ) +"\" "; 580 str += "StartDate=\""+ OPimDateConversion::dateToString( ev.startDate() ) +"\" ";
581 if ( ev.hasCompletedDate() ) 581 if ( ev.hasCompletedDate() )
582 str += "CompletedDate=\""+ OPimDateConversion::dateToString( ev.completedDate() ) +"\" "; 582 str += "CompletedDate=\""+ OPimDateConversion::dateToString( ev.completedDate() ) +"\" ";
583 if ( ev.hasState() ) 583 if ( ev.hasState() )
584 str += "State=\""+QString::number( ev.state().state() )+"\" "; 584 str += "State=\""+QString::number( ev.state().state() )+"\" ";
585 585
586 /* 586 /*
587 * save reminders and notifiers! 587 * save reminders and notifiers!
588 * DATE_TIME:DURATION:SOUND:NOT_USED_YET;OTHER_DATE_TIME:OTHER_DURATION:SOUND:.... 588 * DATE_TIME:DURATION:SOUND:NOT_USED_YET;OTHER_DATE_TIME:OTHER_DURATION:SOUND:....
589 */ 589 */
590 if ( ev.hasNotifiers() ) { 590 if ( ev.hasNotifiers() ) {
591 OPimNotifyManager manager = ev.notifiers(); 591 OPimNotifyManager manager = ev.notifiers();
592 OPimNotifyManager::Alarms alarms = manager.alarms(); 592 OPimNotifyManager::Alarms alarms = manager.alarms();
593 if (!alarms.isEmpty() ) { 593 if (!alarms.isEmpty() ) {
594 QStringList als; 594 QStringList als;
595 OPimNotifyManager::Alarms::Iterator it = alarms.begin(); 595 OPimNotifyManager::Alarms::Iterator it = alarms.begin();
596 for ( ; it != alarms.end(); ++it ) { 596 for ( ; it != alarms.end(); ++it ) {
597 /* only if time is valid */ 597 /* only if time is valid */