summaryrefslogtreecommitdiff
path: root/libopie/pim
authorzecke <zecke>2003-05-12 13:20:21 (UTC)
committer zecke <zecke>2003-05-12 13:20:21 (UTC)
commita4c8b8912c9e87a2fd76103193e6b4f91c2a2c5d (patch) (unidiff)
treeaee89fa76cc9e71a67d8ae9462b567e3f91f284f /libopie/pim
parentc2602b4c290a14f4655d7e07eea20b55c1f38c8e (diff)
downloadopie-a4c8b8912c9e87a2fd76103193e6b4f91c2a2c5d.zip
opie-a4c8b8912c9e87a2fd76103193e6b4f91c2a2c5d.tar.gz
opie-a4c8b8912c9e87a2fd76103193e6b4f91c2a2c5d.tar.bz2
Hospital Hacking Session
kill warnings implement storing of reminders and alarms... Nach viel Eiter und Gestank...
Diffstat (limited to 'libopie/pim') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/pim/otodoaccessxml.cpp71
1 files changed, 65 insertions, 6 deletions
diff --git a/libopie/pim/otodoaccessxml.cpp b/libopie/pim/otodoaccessxml.cpp
index 69b7ab4..2b62f0d 100644
--- a/libopie/pim/otodoaccessxml.cpp
+++ b/libopie/pim/otodoaccessxml.cpp
@@ -20,2 +20,3 @@
20#include "otimezone.h" 20#include "otimezone.h"
21#include "opimnotifymanager.h"
21#include "orecur.h" 22#include "orecur.h"
@@ -428,2 +429,23 @@ void OTodoAccessXML::todo( QAsciiDict<int>* dict, OTodo& ev,
428 break; 429 break;
430 case OTodo::Alarms:{
431 OPimNotifyManager &manager = ev.notifiers();
432 QStringList als = QStringList::split(";", val );
433 for (QStringList::Iterator it = als.begin(); it != als.end(); ++it ) {
434 QStringList alarm = QStringList::split(":", (*it), TRUE ); // allow empty
435 qWarning("alarm: %s", alarm.join("___").latin1() );
436 qWarning("alarm[0]: %s %s", alarm[0].latin1(), OConversion::dateTimeFromString( alarm[0] ).toString().latin1() );
437 OPimAlarm al( alarm[2].toInt(), OConversion::dateTimeFromString( alarm[0] ), alarm[1].toInt() );
438 manager.add( al );
439 }
440 }
441 break;
442 case OTodo::Reminders:{
443 OPimNotifyManager &manager = ev.notifiers();
444 QStringList rems = QStringList::split(";", val );
445 for (QStringList::Iterator it = rems.begin(); it != rems.end(); ++it ) {
446 OPimReminder rem( (*it).toInt() );
447 manager.add( rem );
448 }
449 }
450 break;
429 case OTodo::CrossReference: 451 case OTodo::CrossReference:
@@ -524,2 +546,40 @@ QString OTodoAccessXML::toString( const OTodo& ev )const {
524 546
547 /*
548 * save reminders and notifiers!
549 * DATE_TIME:DURATION:SOUND:NOT_USED_YET;OTHER_DATE_TIME:OTHER:DURATION:SOUND:....
550 */
551 if ( ev.hasNotifiers() ) {
552 OPimNotifyManager manager = ev.notifiers();
553 OPimNotifyManager::Alarms alarms = manager.alarms();
554 if (!alarms.isEmpty() ) {
555 QStringList als;
556 OPimNotifyManager::Alarms::Iterator it = alarms.begin();
557 for ( ; it != alarms.end(); ++it ) {
558 /* only if time is valid */
559 if ( (*it).dateTime().isValid() ) {
560 als << OConversion::dateTimeToString( (*it).dateTime() )
561 + ":" + QString::number( (*it).duration() )
562 + ":" + QString::number( (*it).sound() )
563 + ":";
564 }
565 }
566 // now write the list
567 qWarning("als: %s", als.join("____________").latin1() );
568 str += "Alarms=\""+als.join(";") +"\" ";
569 }
570
571 /*
572 * now the same for reminders but more easy. We just save the uid of the OEvent.
573 */
574 OPimNotifyManager::Reminders reminders = manager.reminders();
575 if (!reminders.isEmpty() ) {
576 OPimNotifyManager::Reminders::Iterator it = reminders.begin();
577 QStringList records;
578 for ( ; it != reminders.end(); ++it ) {
579 records << QString::number( (*it).recordUid() );
580 }
581 str += "Reminders=\""+ records.join(";") +"\" ";
582 }
583 }
584
525 585
@@ -706,3 +766,2 @@ QArray<int> OTodoAccessXML::sorted( bool asc, int sortOrder,
706 int sortFilter, int cat ) { 766 int sortFilter, int cat ) {
707 qWarning("sorted! %d cat", cat);
708 OTodoXMLVector vector(m_events.count(), asc,sortOrder ); 767 OTodoXMLVector vector(m_events.count(), asc,sortOrder );
@@ -717,5 +776,8 @@ QArray<int> OTodoAccessXML::sorted( bool asc, int sortOrder,
717 /* show category */ 776 /* show category */
718 if ( bCat && cat != 0) 777 /* -1 == unfiled */
778 if ( bCat && cat == -1 ) {
779 if(!(*it).categories().isEmpty() )
780 continue;
781 }else if ( bCat && cat != 0)
719 if (!(*it).categories().contains( cat ) ) { 782 if (!(*it).categories().contains( cat ) ) {
720 qWarning("category mis match");
721 continue; 783 continue;
@@ -729,3 +791,2 @@ QArray<int> OTodoAccessXML::sorted( bool asc, int sortOrder,
729 if ( !(*it).isOverdue() && bOnly ) { 791 if ( !(*it).isOverdue() && bOnly ) {
730 qWarning("item is not overdue but bOnly checked");
731 continue; 792 continue;
@@ -734,3 +795,2 @@ QArray<int> OTodoAccessXML::sorted( bool asc, int sortOrder,
734 if ((*it).isCompleted() && comp ) { 795 if ((*it).isCompleted() && comp ) {
735 qWarning("completed continue!");
736 continue; 796 continue;
@@ -744,3 +804,2 @@ QArray<int> OTodoAccessXML::sorted( bool asc, int sortOrder,
744 } 804 }
745 qWarning("XXX %d Items added", item);
746 vector.resize( item ); 805 vector.resize( item );