author | erik <erik> | 2007-01-10 02:48:16 (UTC) |
---|---|---|
committer | erik <erik> | 2007-01-10 02:48:16 (UTC) |
commit | 3c4c894bcdb1e49ce4d3e8167c8a21b1c617037d (patch) (unidiff) | |
tree | 116c28349992668c69756a46fa90838889b21a6b /libopie2/opiepim | |
parent | 5e9659c695af1d1afb20a377775f1349b83eca53 (diff) | |
download | opie-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
-rw-r--r-- | libopie2/opiepim/backend/otodoaccessxml.cpp | 34 |
1 files changed, 17 insertions, 17 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 | |||
@@ -543,21 +543,21 @@ QString customToXml(const QMap<QString, QString>& customMap ) | |||
543 | QString OPimTodoAccessXML::toString( const OPimTodo& ev )const { | 543 | QString OPimTodoAccessXML::toString( const OPimTodo& ev )const { |
544 | QString str; | 544 | QString str; |
545 | 545 | ||
546 | str += "Completed=\"" + QString::number( ev.isCompleted() ) + "\" "; | 546 | str += "Completed=\"" + QString::number( ev.isCompleted() ) + "\""; |
547 | str += "HasDate=\"" + QString::number( ev.hasDueDate() ) + "\" "; | 547 | str += " HasDate=\"" + QString::number( ev.hasDueDate() ) + "\""; |
548 | str += "Priority=\"" + QString::number( ev.priority() ) + "\" "; | 548 | str += " Priority=\"" + QString::number( ev.priority() ) + "\""; |
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 |
@@ -570,18 +570,18 @@ QString OPimTodoAccessXML::toString( const OPimTodo& ev )const { | |||
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! |
@@ -603,7 +603,7 @@ QString OPimTodoAccessXML::toString( const OPimTodo& ev )const { | |||
603 | } | 603 | } |
604 | } | 604 | } |
605 | // now write the list | 605 | // now write the list |
606 | str += "Alarms=\""+als.join(";") +"\" "; | 606 | str += " Alarms=\""+als.join(";") +"\""; |
607 | } | 607 | } |
608 | 608 | ||
609 | /* | 609 | /* |
@@ -616,7 +616,7 @@ QString OPimTodoAccessXML::toString( const OPimTodo& ev )const { | |||
616 | for ( ; it != reminders.end(); ++it ) { | 616 | for ( ; it != reminders.end(); ++it ) { |
617 | records << QString::number( (*it).recordUid() ); | 617 | records << QString::number( (*it).recordUid() ); |
618 | } | 618 | } |
619 | str += "Reminders=\""+ records.join(";") +"\" "; | 619 | str += " Reminders=\""+ records.join(";") +"\""; |
620 | } | 620 | } |
621 | } | 621 | } |
622 | str += customToXml( ev.toExtraMap() ); | 622 | str += customToXml( ev.toExtraMap() ); |