summaryrefslogtreecommitdiff
path: root/libopie2/opiepim/backend
authormickeyl <mickeyl>2004-02-24 12:46:23 (UTC)
committer mickeyl <mickeyl>2004-02-24 12:46:23 (UTC)
commit911473db35a9fce5f3589f03c27210456faaba86 (patch) (unidiff)
tree7d55b6117b24de6ab18747b00a4641d38001c0ed /libopie2/opiepim/backend
parenta2ead23c3614fe581261455cb4c3f31cee2098f3 (diff)
downloadopie-911473db35a9fce5f3589f03c27210456faaba86.zip
opie-911473db35a9fce5f3589f03c27210456faaba86.tar.gz
opie-911473db35a9fce5f3589f03c27210456faaba86.tar.bz2
*phew* here is the class and file rename patch. not converted yet: backend,
but that will be not visible to application classes so we can change it later.
Diffstat (limited to 'libopie2/opiepim/backend') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/backend/obackendfactory.h10
-rw-r--r--libopie2/opiepim/backend/ocontactaccessbackend.h12
-rw-r--r--libopie2/opiepim/backend/ocontactaccessbackend_sql.cpp136
-rw-r--r--libopie2/opiepim/backend/ocontactaccessbackend_sql.h22
-rw-r--r--libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp52
-rw-r--r--libopie2/opiepim/backend/ocontactaccessbackend_vcard.h22
-rw-r--r--libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp158
-rw-r--r--libopie2/opiepim/backend/ocontactaccessbackend_xml.h26
-rw-r--r--libopie2/opiepim/backend/odatebookaccessbackend.cpp18
-rw-r--r--libopie2/opiepim/backend/odatebookaccessbackend.h8
-rw-r--r--libopie2/opiepim/backend/odatebookaccessbackend_sql.cpp64
-rw-r--r--libopie2/opiepim/backend/odatebookaccessbackend_sql.h12
-rw-r--r--libopie2/opiepim/backend/odatebookaccessbackend_xml.cpp86
-rw-r--r--libopie2/opiepim/backend/odatebookaccessbackend_xml.h20
-rw-r--r--libopie2/opiepim/backend/opimaccessbackend.h2
-rw-r--r--libopie2/opiepim/backend/otodoaccessbackend.cpp6
-rw-r--r--libopie2/opiepim/backend/otodoaccessbackend.h8
-rw-r--r--libopie2/opiepim/backend/otodoaccesssql.cpp164
-rw-r--r--libopie2/opiepim/backend/otodoaccesssql.h22
-rw-r--r--libopie2/opiepim/backend/otodoaccessvcal.cpp70
-rw-r--r--libopie2/opiepim/backend/otodoaccessvcal.h16
-rw-r--r--libopie2/opiepim/backend/otodoaccessxml.cpp228
-rw-r--r--libopie2/opiepim/backend/otodoaccessxml.h24
23 files changed, 593 insertions, 593 deletions
diff --git a/libopie2/opiepim/backend/obackendfactory.h b/libopie2/opiepim/backend/obackendfactory.h
index 346e2f5..06421d1 100644
--- a/libopie2/opiepim/backend/obackendfactory.h
+++ b/libopie2/opiepim/backend/obackendfactory.h
@@ -60,7 +60,7 @@ class OBackendPrivate;
60 * This class as the whole PIM Api is making use of templates 60 * This class as the whole PIM Api is making use of templates
61 * 61 *
62 * <pre> 62 * <pre>
63 * OTodoAccessBackend* backend = OBackEndFactory<OTodoAccessBackend>::Default("todo", QString::null ); 63 * OPimTodoAccessBackend* backend = OBackEndFactory<OPimTodoAccessBackend>::Default("todo", QString::null );
64 * backend->load(); 64 * backend->load();
65 * </pre> 65 * </pre>
66 * 66 *
@@ -108,23 +108,23 @@ class OBackendFactory
108 case TODO: 108 case TODO:
109#ifdef __USE_SQL 109#ifdef __USE_SQL
110 if ( backend == "sql" ) 110 if ( backend == "sql" )
111 return (T*) new OTodoAccessBackendSQL(""); 111 return (T*) new OPimTodoAccessBackendSQL("");
112#else 112#else
113 if ( backend == "sql" ) 113 if ( backend == "sql" )
114 qWarning ("OBackendFactory:: sql Backend for TODO not implemented! Using XML instead!"); 114 qWarning ("OBackendFactory:: sql Backend for TODO not implemented! Using XML instead!");
115#endif 115#endif
116 116
117 return (T*) new OTodoAccessXML( appName ); 117 return (T*) new OPimTodoAccessXML( appName );
118 case CONTACT: 118 case CONTACT:
119#ifdef __USE_SQL 119#ifdef __USE_SQL
120 if ( backend == "sql" ) 120 if ( backend == "sql" )
121 return (T*) new OContactAccessBackend_SQL(""); 121 return (T*) new OPimContactAccessBackend_SQL("");
122#else 122#else
123 if ( backend == "sql" ) 123 if ( backend == "sql" )
124 qWarning ("OBackendFactory:: sql Backend for CONTACT not implemented! Using XML instead!"); 124 qWarning ("OBackendFactory:: sql Backend for CONTACT not implemented! Using XML instead!");
125#endif 125#endif
126 126
127 return (T*) new OContactAccessBackend_XML( appName ); 127 return (T*) new OPimContactAccessBackend_XML( appName );
128 case DATE: 128 case DATE:
129#ifdef __USE_SQL 129#ifdef __USE_SQL
130 if ( backend == "sql" ) 130 if ( backend == "sql" )
diff --git a/libopie2/opiepim/backend/ocontactaccessbackend.h b/libopie2/opiepim/backend/ocontactaccessbackend.h
index 6113cea..8436adc 100644
--- a/libopie2/opiepim/backend/ocontactaccessbackend.h
+++ b/libopie2/opiepim/backend/ocontactaccessbackend.h
@@ -39,7 +39,7 @@
39#ifndef _OCONTACTACCESSBACKEND_H_ 39#ifndef _OCONTACTACCESSBACKEND_H_
40#define _OCONTACTACCESSBACKEND_H_ 40#define _OCONTACTACCESSBACKEND_H_
41 41
42#include <opie2/ocontact.h> 42#include <opie2/opimcontact.h>
43#include <opie2/opimaccessbackend.h> 43#include <opie2/opimaccessbackend.h>
44 44
45#include <qregexp.h> 45#include <qregexp.h>
@@ -52,19 +52,19 @@ namespace Opie {
52 * if you want to provide your own storage. 52 * if you want to provide your own storage.
53 * In all queries a list of uids is passed on instead of loading the actual record! 53 * In all queries a list of uids is passed on instead of loading the actual record!
54 * 54 *
55 * @see OContactAccessBackend_VCard 55 * @see OPimContactAccessBackend_VCard
56 * @see OContactAccessBackend_XML 56 * @see OPimContactAccessBackend_XML
57 */ 57 */
58class OContactAccessBackend: public OPimAccessBackend<OContact> { 58class OPimContactAccessBackend: public OPimAccessBackend<OPimContact> {
59 public: 59 public:
60 /** 60 /**
61 * @todo make non line in regard to BC guide of KDE 61 * @todo make non line in regard to BC guide of KDE
62 */ 62 */
63 OContactAccessBackend() {} 63 OPimContactAccessBackend() {}
64 /** 64 /**
65 * @todo make non inline in regard to the BC guide of KDE 65 * @todo make non inline in regard to the BC guide of KDE
66 */ 66 */
67 virtual ~OContactAccessBackend() {} 67 virtual ~OPimContactAccessBackend() {}
68 68
69 69
70 /** 70 /**
diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_sql.cpp b/libopie2/opiepim/backend/ocontactaccessbackend_sql.cpp
index d0c8052..f121cc2 100644
--- a/libopie2/opiepim/backend/ocontactaccessbackend_sql.cpp
+++ b/libopie2/opiepim/backend/ocontactaccessbackend_sql.cpp
@@ -39,8 +39,8 @@
39#include <qpe/global.h> 39#include <qpe/global.h>
40#include <qpe/recordfields.h> 40#include <qpe/recordfields.h>
41 41
42#include <opie2/ocontactfields.h> 42#include <opie2/opimcontactfields.h>
43#include <opie2/oconversion.h> 43#include <opie2/opimdateconversion.h>
44#include <opie2/osqldriver.h> 44#include <opie2/osqldriver.h>
45#include <opie2/osqlresult.h> 45#include <opie2/osqlresult.h>
46#include <opie2/osqlmanager.h> 46#include <opie2/osqlmanager.h>
@@ -105,15 +105,15 @@ namespace Opie {
105 }; 105 };
106 106
107 /** 107 /**
108 * inserts/adds a OContact to the table 108 * inserts/adds a OPimContact to the table
109 */ 109 */
110 class InsertQuery : public OSQLQuery { 110 class InsertQuery : public OSQLQuery {
111 public: 111 public:
112 InsertQuery(const OContact& ); 112 InsertQuery(const OPimContact& );
113 ~InsertQuery(); 113 ~InsertQuery();
114 QString query()const; 114 QString query()const;
115 private: 115 private:
116 OContact m_contact; 116 OPimContact m_contact;
117 }; 117 };
118 118
119 119
@@ -176,7 +176,7 @@ namespace Opie {
176 176
177 qu += "create table addressbook( uid PRIMARY KEY "; 177 qu += "create table addressbook( uid PRIMARY KEY ";
178 178
179 QStringList fieldList = OContactFields::untrfields( false ); 179 QStringList fieldList = OPimContactFields::untrfields( false );
180 for ( QStringList::Iterator it = ++fieldList.begin(); it != fieldList.end(); ++it ){ 180 for ( QStringList::Iterator it = ++fieldList.begin(); it != fieldList.end(); ++it ){
181 qu += QString( ",\"%1\" VARCHAR(10)" ).arg( *it ); 181 qu += QString( ",\"%1\" VARCHAR(10)" ).arg( *it );
182 } 182 }
@@ -223,7 +223,7 @@ namespace Opie {
223 } 223 }
224 224
225 225
226 InsertQuery::InsertQuery( const OContact& contact ) 226 InsertQuery::InsertQuery( const OPimContact& contact )
227 : OSQLQuery(), m_contact( contact ) { 227 : OSQLQuery(), m_contact( contact ) {
228 } 228 }
229 229
@@ -231,7 +231,7 @@ namespace Opie {
231 } 231 }
232 232
233 /* 233 /*
234 * converts from a OContact to a query 234 * converts from a OPimContact to a query
235 */ 235 */
236 QString InsertQuery::query()const{ 236 QString InsertQuery::query()const{
237 237
@@ -244,8 +244,8 @@ namespace Opie {
244 // Remember: The category is stored in contactMap, too ! 244 // Remember: The category is stored in contactMap, too !
245 QMap<int, QString> contactMap = m_contact.toMap(); 245 QMap<int, QString> contactMap = m_contact.toMap();
246 246
247 QStringList fieldList = OContactFields::untrfields( false ); 247 QStringList fieldList = OPimContactFields::untrfields( false );
248 QMap<QString, int> translate = OContactFields::untrFieldsToId(); 248 QMap<QString, int> translate = OPimContactFields::untrFieldsToId();
249 for ( QStringList::Iterator it = ++fieldList.begin(); it != fieldList.end(); ++it ){ 249 for ( QStringList::Iterator it = ++fieldList.begin(); it != fieldList.end(); ++it ){
250 // Convert Column-String to Id and get value for this id.. 250 // Convert Column-String to Id and get value for this id..
251 // Hmmm.. Maybe not very cute solution.. 251 // Hmmm.. Maybe not very cute solution..
@@ -295,7 +295,7 @@ namespace Opie {
295 QMap<QString, QString> addressbook_db; 295 QMap<QString, QString> addressbook_db;
296 296
297 // Get the translation from the ID to the String 297 // Get the translation from the ID to the String
298 QMap<int, QString> transMap = OContactFields::idToUntrFields(); 298 QMap<int, QString> transMap = OPimContactFields::idToUntrFields();
299 299
300 for( QMap<int, QString>::Iterator it = contactMap.begin(); 300 for( QMap<int, QString>::Iterator it = contactMap.begin();
301 it != contactMap.end(); ++it ){ 301 it != contactMap.end(); ++it ){
@@ -459,11 +459,11 @@ namespace Opie {
459 459
460namespace Opie { 460namespace Opie {
461 461
462OContactAccessBackend_SQL::OContactAccessBackend_SQL ( const QString& /* appname */, 462OPimContactAccessBackend_SQL::OPimContactAccessBackend_SQL ( const QString& /* appname */,
463 const QString& filename ): 463 const QString& filename ):
464 OContactAccessBackend(), m_changed(false), m_driver( NULL ) 464 OPimContactAccessBackend(), m_changed(false), m_driver( NULL )
465{ 465{
466 qWarning("C'tor OContactAccessBackend_SQL starts"); 466 qWarning("C'tor OPimContactAccessBackend_SQL starts");
467 QTime t; 467 QTime t;
468 t.start(); 468 t.start();
469 469
@@ -480,16 +480,16 @@ OContactAccessBackend_SQL::OContactAccessBackend_SQL ( const QString& /* appname
480 480
481 load(); 481 load();
482 482
483 qWarning("C'tor OContactAccessBackend_SQL ends: %d ms", t.elapsed() ); 483 qWarning("C'tor OPimContactAccessBackend_SQL ends: %d ms", t.elapsed() );
484} 484}
485 485
486OContactAccessBackend_SQL::~OContactAccessBackend_SQL () 486OPimContactAccessBackend_SQL::~OPimContactAccessBackend_SQL ()
487{ 487{
488 if( m_driver ) 488 if( m_driver )
489 delete m_driver; 489 delete m_driver;
490} 490}
491 491
492bool OContactAccessBackend_SQL::load () 492bool OPimContactAccessBackend_SQL::load ()
493{ 493{
494 if (!m_driver->open() ) 494 if (!m_driver->open() )
495 return false; 495 return false;
@@ -506,18 +506,18 @@ bool OContactAccessBackend_SQL::load ()
506 506
507} 507}
508 508
509bool OContactAccessBackend_SQL::reload() 509bool OPimContactAccessBackend_SQL::reload()
510{ 510{
511 return load(); 511 return load();
512} 512}
513 513
514bool OContactAccessBackend_SQL::save() 514bool OPimContactAccessBackend_SQL::save()
515{ 515{
516 return m_driver->close(); // Shouldn't m_driver->sync be better than close ? (eilers) 516 return m_driver->close(); // Shouldn't m_driver->sync be better than close ? (eilers)
517} 517}
518 518
519 519
520void OContactAccessBackend_SQL::clear () 520void OPimContactAccessBackend_SQL::clear ()
521{ 521{
522 ClearQuery cle; 522 ClearQuery cle;
523 OSQLResult res = m_driver->query( &cle ); 523 OSQLResult res = m_driver->query( &cle );
@@ -525,23 +525,23 @@ void OContactAccessBackend_SQL::clear ()
525 reload(); 525 reload();
526} 526}
527 527
528bool OContactAccessBackend_SQL::wasChangedExternally() 528bool OPimContactAccessBackend_SQL::wasChangedExternally()
529{ 529{
530 return false; 530 return false;
531} 531}
532 532
533QArray<int> OContactAccessBackend_SQL::allRecords() const 533QArray<int> OPimContactAccessBackend_SQL::allRecords() const
534{ 534{
535 535
536 // FIXME: Think about cute handling of changed tables.. 536 // FIXME: Think about cute handling of changed tables..
537 // Thus, we don't have to call update here... 537 // Thus, we don't have to call update here...
538 if ( m_changed ) 538 if ( m_changed )
539 ((OContactAccessBackend_SQL*)this)->update(); 539 ((OPimContactAccessBackend_SQL*)this)->update();
540 540
541 return m_uids; 541 return m_uids;
542} 542}
543 543
544bool OContactAccessBackend_SQL::add ( const OContact &newcontact ) 544bool OPimContactAccessBackend_SQL::add ( const OPimContact &newcontact )
545{ 545{
546 InsertQuery ins( newcontact ); 546 InsertQuery ins( newcontact );
547 OSQLResult res = m_driver->query( &ins ); 547 OSQLResult res = m_driver->query( &ins );
@@ -557,7 +557,7 @@ bool OContactAccessBackend_SQL::add ( const OContact &newcontact )
557} 557}
558 558
559 559
560bool OContactAccessBackend_SQL::remove ( int uid ) 560bool OPimContactAccessBackend_SQL::remove ( int uid )
561{ 561{
562 RemoveQuery rem( uid ); 562 RemoveQuery rem( uid );
563 OSQLResult res = m_driver->query(&rem ); 563 OSQLResult res = m_driver->query(&rem );
@@ -570,7 +570,7 @@ bool OContactAccessBackend_SQL::remove ( int uid )
570 return true; 570 return true;
571} 571}
572 572
573bool OContactAccessBackend_SQL::replace ( const OContact &contact ) 573bool OPimContactAccessBackend_SQL::replace ( const OPimContact &contact )
574{ 574{
575 if ( !remove( contact.uid() ) ) 575 if ( !remove( contact.uid() ) )
576 return false; 576 return false;
@@ -579,28 +579,28 @@ bool OContactAccessBackend_SQL::replace ( const OContact &contact )
579} 579}
580 580
581 581
582OContact OContactAccessBackend_SQL::find ( int uid ) const 582OPimContact OPimContactAccessBackend_SQL::find ( int uid ) const
583{ 583{
584 qWarning("OContactAccessBackend_SQL::find()"); 584 qWarning("OPimContactAccessBackend_SQL::find()");
585 QTime t; 585 QTime t;
586 t.start(); 586 t.start();
587 587
588 OContact retContact( requestNonCustom( uid ) ); 588 OPimContact retContact( requestNonCustom( uid ) );
589 retContact.setExtraMap( requestCustom( uid ) ); 589 retContact.setExtraMap( requestCustom( uid ) );
590 590
591 qWarning("OContactAccessBackend_SQL::find() needed: %d ms", t.elapsed() ); 591 qWarning("OPimContactAccessBackend_SQL::find() needed: %d ms", t.elapsed() );
592 return retContact; 592 return retContact;
593} 593}
594 594
595 595
596 596
597QArray<int> OContactAccessBackend_SQL::queryByExample ( const OContact &query, int settings, const QDateTime& d = QDateTime() ) 597QArray<int> OPimContactAccessBackend_SQL::queryByExample ( const OPimContact &query, int settings, const QDateTime& d = QDateTime() )
598{ 598{
599 QString qu = "SELECT uid FROM addressbook WHERE"; 599 QString qu = "SELECT uid FROM addressbook WHERE";
600 600
601 QMap<int, QString> queryFields = query.toMap(); 601 QMap<int, QString> queryFields = query.toMap();
602 QStringList fieldList = OContactFields::untrfields( false ); 602 QStringList fieldList = OPimContactFields::untrfields( false );
603 QMap<QString, int> translate = OContactFields::untrFieldsToId(); 603 QMap<QString, int> translate = OPimContactFields::untrFieldsToId();
604 604
605 // Convert every filled field to a SQL-Query 605 // Convert every filled field to a SQL-Query
606 bool isAnyFieldSelected = false; 606 bool isAnyFieldSelected = false;
@@ -614,7 +614,7 @@ QArray<int> OContactAccessBackend_SQL::queryByExample ( const OContact &query, i
614 // Switching between case sensitive and insensitive... 614 // Switching between case sensitive and insensitive...
615 // LIKE is not case sensitive, GLOB is case sensitive 615 // LIKE is not case sensitive, GLOB is case sensitive
616 // Do exist a better solution to switch this ? 616 // Do exist a better solution to switch this ?
617 if ( settings & OContactAccess::IgnoreCase ) 617 if ( settings & OPimContactAccess::IgnoreCase )
618 qu += "(\"" + *it + "\"" + " LIKE " + "'" 618 qu += "(\"" + *it + "\"" + " LIKE " + "'"
619 + queryStr.replace(QRegExp("\\*"),"%") + "'" + ") AND "; 619 + queryStr.replace(QRegExp("\\*"),"%") + "'" + ") AND ";
620 else 620 else
@@ -643,57 +643,57 @@ QArray<int> OContactAccessBackend_SQL::queryByExample ( const OContact &query, i
643 return list; 643 return list;
644} 644}
645 645
646QArray<int> OContactAccessBackend_SQL::matchRegexp( const QRegExp &r ) const 646QArray<int> OPimContactAccessBackend_SQL::matchRegexp( const QRegExp &r ) const
647{ 647{
648 QArray<int> nix(0); 648 QArray<int> nix(0);
649 return nix; 649 return nix;
650} 650}
651 651
652const uint OContactAccessBackend_SQL::querySettings() 652const uint OPimContactAccessBackend_SQL::querySettings()
653{ 653{
654 return OContactAccess::IgnoreCase 654 return OPimContactAccess::IgnoreCase
655 || OContactAccess::WildCards; 655 || OPimContactAccess::WildCards;
656} 656}
657 657
658bool OContactAccessBackend_SQL::hasQuerySettings (uint querySettings) const 658bool OPimContactAccessBackend_SQL::hasQuerySettings (uint querySettings) const
659{ 659{
660 /* OContactAccess::IgnoreCase, DateDiff, DateYear, DateMonth, DateDay 660 /* OPimContactAccess::IgnoreCase, DateDiff, DateYear, DateMonth, DateDay
661 * may be added with any of the other settings. IgnoreCase should never used alone. 661 * may be added with any of the other settings. IgnoreCase should never used alone.
662 * Wildcards, RegExp, ExactMatch should never used at the same time... 662 * Wildcards, RegExp, ExactMatch should never used at the same time...
663 */ 663 */
664 664
665 // Step 1: Check whether the given settings are supported by this backend 665 // Step 1: Check whether the given settings are supported by this backend
666 if ( ( querySettings & ( 666 if ( ( querySettings & (
667 OContactAccess::IgnoreCase 667 OPimContactAccess::IgnoreCase
668 | OContactAccess::WildCards 668 | OPimContactAccess::WildCards
669 // | OContactAccess::DateDiff 669 // | OPimContactAccess::DateDiff
670 // | OContactAccess::DateYear 670 // | OPimContactAccess::DateYear
671 // | OContactAccess::DateMonth 671 // | OPimContactAccess::DateMonth
672 // | OContactAccess::DateDay 672 // | OPimContactAccess::DateDay
673 // | OContactAccess::RegExp 673 // | OPimContactAccess::RegExp
674 // | OContactAccess::ExactMatch 674 // | OPimContactAccess::ExactMatch
675 ) ) != querySettings ) 675 ) ) != querySettings )
676 return false; 676 return false;
677 677
678 // Step 2: Check whether the given combinations are ok.. 678 // Step 2: Check whether the given combinations are ok..
679 679
680 // IngoreCase alone is invalid 680 // IngoreCase alone is invalid
681 if ( querySettings == OContactAccess::IgnoreCase ) 681 if ( querySettings == OPimContactAccess::IgnoreCase )
682 return false; 682 return false;
683 683
684 // WildCards, RegExp and ExactMatch should never used at the same time 684 // WildCards, RegExp and ExactMatch should never used at the same time
685 switch ( querySettings & ~( OContactAccess::IgnoreCase 685 switch ( querySettings & ~( OPimContactAccess::IgnoreCase
686 | OContactAccess::DateDiff 686 | OPimContactAccess::DateDiff
687 | OContactAccess::DateYear 687 | OPimContactAccess::DateYear
688 | OContactAccess::DateMonth 688 | OPimContactAccess::DateMonth
689 | OContactAccess::DateDay 689 | OPimContactAccess::DateDay
690 ) 690 )
691 ){ 691 ){
692 case OContactAccess::RegExp: 692 case OPimContactAccess::RegExp:
693 return ( true ); 693 return ( true );
694 case OContactAccess::WildCards: 694 case OPimContactAccess::WildCards:
695 return ( true ); 695 return ( true );
696 case OContactAccess::ExactMatch: 696 case OPimContactAccess::ExactMatch:
697 return ( true ); 697 return ( true );
698 case 0: // one of the upper removed bits were set.. 698 case 0: // one of the upper removed bits were set..
699 return ( true ); 699 return ( true );
@@ -703,7 +703,7 @@ bool OContactAccessBackend_SQL::hasQuerySettings (uint querySettings) const
703 703
704} 704}
705 705
706QArray<int> OContactAccessBackend_SQL::sorted( bool asc, int , int , int ) 706QArray<int> OPimContactAccessBackend_SQL::sorted( bool asc, int , int , int )
707{ 707{
708 QTime t; 708 QTime t;
709 t.start(); 709 t.start();
@@ -735,7 +735,7 @@ QArray<int> OContactAccessBackend_SQL::sorted( bool asc, int , int , int )
735} 735}
736 736
737 737
738void OContactAccessBackend_SQL::update() 738void OPimContactAccessBackend_SQL::update()
739{ 739{
740 qWarning("Update starts"); 740 qWarning("Update starts");
741 QTime t; 741 QTime t;
@@ -756,7 +756,7 @@ void OContactAccessBackend_SQL::update()
756 qWarning("Update ends %d ms", t.elapsed() ); 756 qWarning("Update ends %d ms", t.elapsed() );
757} 757}
758 758
759QArray<int> OContactAccessBackend_SQL::extractUids( OSQLResult& res ) const 759QArray<int> OPimContactAccessBackend_SQL::extractUids( OSQLResult& res ) const
760{ 760{
761 qWarning("extractUids"); 761 qWarning("extractUids");
762 QTime t; 762 QTime t;
@@ -778,7 +778,7 @@ QArray<int> OContactAccessBackend_SQL::extractUids( OSQLResult& res ) const
778} 778}
779 779
780#ifdef __STORE_HORIZONTAL_ 780#ifdef __STORE_HORIZONTAL_
781QMap<int, QString> OContactAccessBackend_SQL::requestNonCustom( int uid ) const 781QMap<int, QString> OPimContactAccessBackend_SQL::requestNonCustom( int uid ) const
782{ 782{
783 QTime t; 783 QTime t;
784 t.start(); 784 t.start();
@@ -798,8 +798,8 @@ QMap<int, QString> OContactAccessBackend_SQL::requestNonCustom( int uid ) const
798 QTime t3; 798 QTime t3;
799 t3.start(); 799 t3.start();
800 // Now loop through all columns 800 // Now loop through all columns
801 QStringList fieldList = OContactFields::untrfields( false ); 801 QStringList fieldList = OPimContactFields::untrfields( false );
802 QMap<QString, int> translate = OContactFields::untrFieldsToId(); 802 QMap<QString, int> translate = OPimContactFields::untrFieldsToId();
803 for ( QStringList::Iterator it = ++fieldList.begin(); it != fieldList.end(); ++it ){ 803 for ( QStringList::Iterator it = ++fieldList.begin(); it != fieldList.end(); ++it ){
804 // Get data for the selected column and store it with the 804 // Get data for the selected column and store it with the
805 // corresponding id into the map.. 805 // corresponding id into the map..
@@ -820,7 +820,7 @@ QMap<int, QString> OContactAccessBackend_SQL::requestNonCustom( int uid ) const
820 int day = (*(++lit)).toInt(); 820 int day = (*(++lit)).toInt();
821 if ( ( day != 0 ) && ( month != 0 ) && ( year != 0 ) ){ 821 if ( ( day != 0 ) && ( month != 0 ) && ( year != 0 ) ){
822 QDate date( year, month, day ); 822 QDate date( year, month, day );
823 nonCustomMap.insert( id, OConversion::dateToString( date ) ); 823 nonCustomMap.insert( id, OPimDateConversion::dateToString( date ) );
824 } 824 }
825 } 825 }
826 break; 826 break;
@@ -843,7 +843,7 @@ QMap<int, QString> OContactAccessBackend_SQL::requestNonCustom( int uid ) const
843} 843}
844#else 844#else
845 845
846QMap<int, QString> OContactAccessBackend_SQL::requestNonCustom( int uid ) const 846QMap<int, QString> OPimContactAccessBackend_SQL::requestNonCustom( int uid ) const
847{ 847{
848 QTime t; 848 QTime t;
849 t.start(); 849 t.start();
@@ -866,7 +866,7 @@ QMap<int, QString> OContactAccessBackend_SQL::requestNonCustom( int uid ) const
866 int t3needed = 0; 866 int t3needed = 0;
867 QTime t3; 867 QTime t3;
868 t3.start(); 868 t3.start();
869 QMap<QString, int> translateMap = OContactFields::untrFieldsToId(); 869 QMap<QString, int> translateMap = OPimContactFields::untrFieldsToId();
870 870
871 OSQLResultItem::ValueList list = res_noncustom.results(); 871 OSQLResultItem::ValueList list = res_noncustom.results();
872 OSQLResultItem::ValueList::Iterator it = list.begin(); 872 OSQLResultItem::ValueList::Iterator it = list.begin();
@@ -887,7 +887,7 @@ QMap<int, QString> OContactAccessBackend_SQL::requestNonCustom( int uid ) const
887 qWarning("3. %s", (*lit).latin1()); 887 qWarning("3. %s", (*lit).latin1());
888 qWarning( "RequestNonCustom->Converting:%s to Year: %d, Month: %d, Day: %d ", (*it).data( "value" ).latin1(), year, month, day ); 888 qWarning( "RequestNonCustom->Converting:%s to Year: %d, Month: %d, Day: %d ", (*it).data( "value" ).latin1(), year, month, day );
889 QDate date( year, month, day ); 889 QDate date( year, month, day );
890 nonCustomMap.insert( typeId, OConversion::dateToString( date ) ); 890 nonCustomMap.insert( typeId, OPimDateConversion::dateToString( date ) );
891 } 891 }
892 break; 892 break;
893 default: 893 default:
@@ -906,7 +906,7 @@ QMap<int, QString> OContactAccessBackend_SQL::requestNonCustom( int uid ) const
906 906
907#endif // __STORE_HORIZONTAL_ 907#endif // __STORE_HORIZONTAL_
908 908
909QMap<QString, QString> OContactAccessBackend_SQL::requestCustom( int uid ) const 909QMap<QString, QString> OPimContactAccessBackend_SQL::requestCustom( int uid ) const
910{ 910{
911 QTime t; 911 QTime t;
912 t.start(); 912 t.start();
diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_sql.h b/libopie2/opiepim/backend/ocontactaccessbackend_sql.h
index 55b95fd..58ae2ae 100644
--- a/libopie2/opiepim/backend/ocontactaccessbackend_sql.h
+++ b/libopie2/opiepim/backend/ocontactaccessbackend_sql.h
@@ -30,8 +30,8 @@
30 * SQL Backend for the OPIE-Contact Database. 30 * SQL Backend for the OPIE-Contact Database.
31 */ 31 */
32 32
33#ifndef _OContactAccessBackend_SQL_ 33#ifndef _OPimContactAccessBackend_SQL_
34#define _OContactAccessBackend_SQL_ 34#define _OPimContactAccessBackend_SQL_
35 35
36#include <opie2/ocontactaccessbackend.h> 36#include <opie2/ocontactaccessbackend.h>
37#include <opie2/ocontactaccess.h> 37#include <opie2/ocontactaccess.h>
@@ -49,14 +49,14 @@ namespace Opie {
49/* the default xml implementation */ 49/* the default xml implementation */
50/** 50/**
51 * This class is the SQL implementation of a Contact backend 51 * This class is the SQL implementation of a Contact backend
52 * it does implement everything available for OContact. 52 * it does implement everything available for OPimContact.
53 * @see OPimAccessBackend for more information of available methods 53 * @see OPimAccessBackend for more information of available methods
54 */ 54 */
55class OContactAccessBackend_SQL : public OContactAccessBackend { 55class OPimContactAccessBackend_SQL : public OPimContactAccessBackend {
56 public: 56 public:
57 OContactAccessBackend_SQL ( const QString& appname, const QString& filename = QString::null ); 57 OPimContactAccessBackend_SQL ( const QString& appname, const QString& filename = QString::null );
58 58
59 ~OContactAccessBackend_SQL (); 59 ~OPimContactAccessBackend_SQL ();
60 60
61 bool save(); 61 bool save();
62 62
@@ -68,11 +68,11 @@ class OContactAccessBackend_SQL : public OContactAccessBackend {
68 68
69 QArray<int> allRecords() const; 69 QArray<int> allRecords() const;
70 70
71 OContact find ( int uid ) const; 71 OPimContact find ( int uid ) const;
72 // FIXME: Add lookahead-cache support ! 72 // FIXME: Add lookahead-cache support !
73 //OContact find(int uid, const QArray<int>&, uint cur, Frontend::CacheDirection )const; 73 //OPimContact find(int uid, const QArray<int>&, uint cur, Frontend::CacheDirection )const;
74 74
75 QArray<int> queryByExample ( const OContact &query, int settings, 75 QArray<int> queryByExample ( const OPimContact &query, int settings,
76 const QDateTime& d ); 76 const QDateTime& d );
77 77
78 QArray<int> matchRegexp( const QRegExp &r ) const; 78 QArray<int> matchRegexp( const QRegExp &r ) const;
@@ -83,9 +83,9 @@ class OContactAccessBackend_SQL : public OContactAccessBackend {
83 83
84 // Currently only asc implemented.. 84 // Currently only asc implemented..
85 QArray<int> sorted( bool asc, int , int , int ); 85 QArray<int> sorted( bool asc, int , int , int );
86 bool add ( const OContact &newcontact ); 86 bool add ( const OPimContact &newcontact );
87 87
88 bool replace ( const OContact &contact ); 88 bool replace ( const OPimContact &contact );
89 89
90 bool remove ( int uid ); 90 bool remove ( int uid );
91 bool reload(); 91 bool reload();
diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp b/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp
index f85cf38..b569f8b 100644
--- a/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp
+++ b/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp
@@ -39,7 +39,7 @@
39 39
40namespace Opie { 40namespace Opie {
41 41
42OContactAccessBackend_VCard::OContactAccessBackend_VCard ( const QString& , const QString& filename ): 42OPimContactAccessBackend_VCard::OPimContactAccessBackend_VCard ( const QString& , const QString& filename ):
43 m_dirty( false ), 43 m_dirty( false ),
44 m_file( filename ) 44 m_file( filename )
45{ 45{
@@ -47,7 +47,7 @@ OContactAccessBackend_VCard::OContactAccessBackend_VCard ( const QString& , cons
47} 47}
48 48
49 49
50bool OContactAccessBackend_VCard::load () 50bool OPimContactAccessBackend_VCard::load ()
51{ 51{
52 m_map.clear(); 52 m_map.clear();
53 m_dirty = false; 53 m_dirty = false;
@@ -64,7 +64,7 @@ bool OContactAccessBackend_VCard::load ()
64 } 64 }
65 65
66 while ( obj ) { 66 while ( obj ) {
67 OContact con = parseVObject( obj ); 67 OPimContact con = parseVObject( obj );
68 /* 68 /*
69 * if uid is 0 assign a new one 69 * if uid is 0 assign a new one
70 * this at least happens on 70 * this at least happens on
@@ -85,11 +85,11 @@ bool OContactAccessBackend_VCard::load ()
85 return true; 85 return true;
86 86
87} 87}
88bool OContactAccessBackend_VCard::reload() 88bool OPimContactAccessBackend_VCard::reload()
89{ 89{
90 return load(); 90 return load();
91} 91}
92bool OContactAccessBackend_VCard::save() 92bool OPimContactAccessBackend_VCard::save()
93{ 93{
94 if (!m_dirty ) 94 if (!m_dirty )
95 return true; 95 return true;
@@ -103,7 +103,7 @@ bool OContactAccessBackend_VCard::save()
103 addPropValue( obj, VCVersionProp, "1.0" ); 103 addPropValue( obj, VCVersionProp, "1.0" );
104 104
105 VObject *vo; 105 VObject *vo;
106 for(QMap<int, OContact>::ConstIterator it=m_map.begin(); it !=m_map.end(); ++it ){ 106 for(QMap<int, OPimContact>::ConstIterator it=m_map.begin(); it !=m_map.end(); ++it ){
107 vo = createVObject( *it ); 107 vo = createVObject( *it );
108 writeVObject( file.directHandle() , vo ); 108 writeVObject( file.directHandle() , vo );
109 cleanVObject( vo ); 109 cleanVObject( vo );
@@ -116,42 +116,42 @@ bool OContactAccessBackend_VCard::save()
116 116
117 117
118} 118}
119void OContactAccessBackend_VCard::clear () 119void OPimContactAccessBackend_VCard::clear ()
120{ 120{
121 m_map.clear(); 121 m_map.clear();
122 m_dirty = true; // ??? sure ? (se) 122 m_dirty = true; // ??? sure ? (se)
123} 123}
124 124
125bool OContactAccessBackend_VCard::add ( const OContact& newcontact ) 125bool OPimContactAccessBackend_VCard::add ( const OPimContact& newcontact )
126{ 126{
127 m_map.insert( newcontact.uid(), newcontact ); 127 m_map.insert( newcontact.uid(), newcontact );
128 m_dirty = true; 128 m_dirty = true;
129 return true; 129 return true;
130} 130}
131 131
132bool OContactAccessBackend_VCard::remove ( int uid ) 132bool OPimContactAccessBackend_VCard::remove ( int uid )
133{ 133{
134 m_map.remove( uid ); 134 m_map.remove( uid );
135 m_dirty = true; 135 m_dirty = true;
136 return true; 136 return true;
137} 137}
138 138
139bool OContactAccessBackend_VCard::replace ( const OContact &contact ) 139bool OPimContactAccessBackend_VCard::replace ( const OPimContact &contact )
140{ 140{
141 m_map.replace( contact.uid(), contact ); 141 m_map.replace( contact.uid(), contact );
142 m_dirty = true; 142 m_dirty = true;
143 return true; 143 return true;
144} 144}
145 145
146OContact OContactAccessBackend_VCard::find ( int uid ) const 146OPimContact OPimContactAccessBackend_VCard::find ( int uid ) const
147{ 147{
148 return m_map[uid]; 148 return m_map[uid];
149} 149}
150 150
151QArray<int> OContactAccessBackend_VCard::allRecords() const 151QArray<int> OPimContactAccessBackend_VCard::allRecords() const
152{ 152{
153 QArray<int> ar( m_map.count() ); 153 QArray<int> ar( m_map.count() );
154 QMap<int, OContact>::ConstIterator it; 154 QMap<int, OPimContact>::ConstIterator it;
155 int i = 0; 155 int i = 0;
156 for ( it = m_map.begin(); it != m_map.end(); ++it ) { 156 for ( it = m_map.begin(); it != m_map.end(); ++it ) {
157 ar[i] = it.key(); 157 ar[i] = it.key();
@@ -161,36 +161,36 @@ QArray<int> OContactAccessBackend_VCard::allRecords() const
161} 161}
162 162
163// Not implemented 163// Not implemented
164QArray<int> OContactAccessBackend_VCard::queryByExample ( const OContact&, int, const QDateTime& ) 164QArray<int> OPimContactAccessBackend_VCard::queryByExample ( const OPimContact&, int, const QDateTime& )
165{ 165{
166 QArray<int> ar(0); 166 QArray<int> ar(0);
167 return ar; 167 return ar;
168} 168}
169 169
170// Not implemented 170// Not implemented
171QArray<int> OContactAccessBackend_VCard::matchRegexp( const QRegExp& ) const 171QArray<int> OPimContactAccessBackend_VCard::matchRegexp( const QRegExp& ) const
172{ 172{
173 QArray<int> ar(0); 173 QArray<int> ar(0);
174 return ar; 174 return ar;
175} 175}
176 176
177const uint OContactAccessBackend_VCard::querySettings() 177const uint OPimContactAccessBackend_VCard::querySettings()
178{ 178{
179 return 0; // No search possible 179 return 0; // No search possible
180} 180}
181 181
182bool OContactAccessBackend_VCard::hasQuerySettings (uint ) const 182bool OPimContactAccessBackend_VCard::hasQuerySettings (uint ) const
183{ 183{
184 return false; // No search possible, therefore all settings invalid ;) 184 return false; // No search possible, therefore all settings invalid ;)
185} 185}
186 186
187bool OContactAccessBackend_VCard::wasChangedExternally() 187bool OPimContactAccessBackend_VCard::wasChangedExternally()
188{ 188{
189 return false; // Don't expect concurrent access 189 return false; // Don't expect concurrent access
190} 190}
191 191
192// Not implemented 192// Not implemented
193QArray<int> OContactAccessBackend_VCard::sorted( bool , int, int, int ) 193QArray<int> OPimContactAccessBackend_VCard::sorted( bool , int, int, int )
194{ 194{
195 QArray<int> ar(0); 195 QArray<int> ar(0);
196 return ar; 196 return ar;
@@ -199,9 +199,9 @@ QArray<int> OContactAccessBackend_VCard::sorted( bool , int, int, int )
199// *** Private stuff *** 199// *** Private stuff ***
200 200
201 201
202OContact OContactAccessBackend_VCard::parseVObject( VObject *obj ) 202OPimContact OPimContactAccessBackend_VCard::parseVObject( VObject *obj )
203{ 203{
204 OContact c; 204 OPimContact c;
205 205
206 VObjectIterator it; 206 VObjectIterator it;
207 initPropIterator( &it, obj ); 207 initPropIterator( &it, obj );
@@ -427,7 +427,7 @@ OContact OContactAccessBackend_VCard::parseVObject( VObject *obj )
427} 427}
428 428
429 429
430VObject* OContactAccessBackend_VCard::createVObject( const OContact &c ) 430VObject* OPimContactAccessBackend_VCard::createVObject( const OPimContact &c )
431{ 431{
432 VObject *vcard = newVObject( VCCardProp ); 432 VObject *vcard = newVObject( VCCardProp );
433 safeAddPropValue( vcard, VCVersionProp, "2.1" ); 433 safeAddPropValue( vcard, VCVersionProp, "2.1" );
@@ -533,7 +533,7 @@ VObject* OContactAccessBackend_VCard::createVObject( const OContact &c )
533 return vcard; 533 return vcard;
534} 534}
535 535
536QString OContactAccessBackend_VCard::convDateToVCardDate( const QDate& d ) const 536QString OPimContactAccessBackend_VCard::convDateToVCardDate( const QDate& d ) const
537{ 537{
538 QString str_rfc2425 = QString("%1-%2-%3") 538 QString str_rfc2425 = QString("%1-%2-%3")
539 .arg( d.year() ) 539 .arg( d.year() )
@@ -547,7 +547,7 @@ QString OContactAccessBackend_VCard::convDateToVCardDate( const QDate& d ) const
547 return str_rfc2425; 547 return str_rfc2425;
548} 548}
549 549
550QDate OContactAccessBackend_VCard::convVCardDateToDate( const QString& datestr ) 550QDate OPimContactAccessBackend_VCard::convVCardDateToDate( const QString& datestr )
551{ 551{
552 int monthPos = datestr.find('-'); 552 int monthPos = datestr.find('-');
553 int dayPos = datestr.find('-', monthPos+1 ); 553 int dayPos = datestr.find('-', monthPos+1 );
@@ -572,7 +572,7 @@ QDate OContactAccessBackend_VCard::convVCardDateToDate( const QString& datestr )
572 return date; 572 return date;
573} 573}
574 574
575VObject* OContactAccessBackend_VCard::safeAddPropValue( VObject *o, const char *prop, const QString &value ) 575VObject* OPimContactAccessBackend_VCard::safeAddPropValue( VObject *o, const char *prop, const QString &value )
576{ 576{
577 VObject *ret = 0; 577 VObject *ret = 0;
578 if ( o && !value.isEmpty() ) 578 if ( o && !value.isEmpty() )
@@ -580,7 +580,7 @@ VObject* OContactAccessBackend_VCard::safeAddPropValue( VObject *o, const char *
580 return ret; 580 return ret;
581} 581}
582 582
583VObject* OContactAccessBackend_VCard::safeAddProp( VObject *o, const char *prop) 583VObject* OPimContactAccessBackend_VCard::safeAddProp( VObject *o, const char *prop)
584{ 584{
585 VObject *ret = 0; 585 VObject *ret = 0;
586 if ( o ) 586 if ( o )
diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_vcard.h b/libopie2/opiepim/backend/ocontactaccessbackend_vcard.h
index 11be027..2a786af 100644
--- a/libopie2/opiepim/backend/ocontactaccessbackend_vcard.h
+++ b/libopie2/opiepim/backend/ocontactaccessbackend_vcard.h
@@ -32,7 +32,7 @@
32#ifndef __OCONTACTACCESSBACKEND_VCARD_H_ 32#ifndef __OCONTACTACCESSBACKEND_VCARD_H_
33#define __OCONTACTACCESSBACKEND_VCARD_H_ 33#define __OCONTACTACCESSBACKEND_VCARD_H_
34 34
35#include <opie2/ocontact.h> 35#include <opie2/opimcontact.h>
36 36
37#include <opie2/ocontactaccessbackend.h> 37#include <opie2/ocontactaccessbackend.h>
38 38
@@ -41,25 +41,25 @@ class VObject;
41namespace Opie { 41namespace Opie {
42/** 42/**
43 * This is the vCard 2.1 implementation of the Contact Storage 43 * This is the vCard 2.1 implementation of the Contact Storage
44 * @see OContactAccessBackend_XML 44 * @see OPimContactAccessBackend_XML
45 * @see OPimAccessBackend 45 * @see OPimAccessBackend
46 */ 46 */
47class OContactAccessBackend_VCard : public OContactAccessBackend { 47class OPimContactAccessBackend_VCard : public OPimContactAccessBackend {
48 public: 48 public:
49 OContactAccessBackend_VCard ( const QString& appname, const QString& filename = QString::null ); 49 OPimContactAccessBackend_VCard ( const QString& appname, const QString& filename = QString::null );
50 50
51 bool load (); 51 bool load ();
52 bool reload(); 52 bool reload();
53 bool save(); 53 bool save();
54 void clear (); 54 void clear ();
55 55
56 bool add ( const OContact& newcontact ); 56 bool add ( const OPimContact& newcontact );
57 bool remove ( int uid ); 57 bool remove ( int uid );
58 bool replace ( const OContact& contact ); 58 bool replace ( const OPimContact& contact );
59 59
60 OContact find ( int uid ) const; 60 OPimContact find ( int uid ) const;
61 QArray<int> allRecords() const; 61 QArray<int> allRecords() const;
62 QArray<int> queryByExample ( const OContact &query, int settings, const QDateTime& d = QDateTime() ); 62 QArray<int> queryByExample ( const OPimContact &query, int settings, const QDateTime& d = QDateTime() );
63 QArray<int> matchRegexp( const QRegExp &r ) const; 63 QArray<int> matchRegexp( const QRegExp &r ) const;
64 64
65 const uint querySettings(); 65 const uint querySettings();
@@ -68,8 +68,8 @@ class OContactAccessBackend_VCard : public OContactAccessBackend {
68 bool wasChangedExternally(); 68 bool wasChangedExternally();
69 69
70private: 70private:
71 OContact parseVObject( VObject* obj ); 71 OPimContact parseVObject( VObject* obj );
72 VObject* createVObject( const OContact& c ); 72 VObject* createVObject( const OPimContact& c );
73 QString convDateToVCardDate( const QDate& c ) const; 73 QString convDateToVCardDate( const QDate& c ) const;
74 QDate convVCardDateToDate( const QString& datestr ); 74 QDate convVCardDateToDate( const QString& datestr );
75 VObject *safeAddPropValue( VObject *o, const char* prop, const QString& value ); 75 VObject *safeAddPropValue( VObject *o, const char* prop, const QString& value );
@@ -77,7 +77,7 @@ private:
77 77
78 bool m_dirty : 1; 78 bool m_dirty : 1;
79 QString m_file; 79 QString m_file;
80 QMap<int, OContact> m_map; 80 QMap<int, OPimContact> m_map;
81}; 81};
82 82
83} 83}
diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp b/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp
index 07ad29a..0adba68 100644
--- a/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp
+++ b/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp
@@ -54,7 +54,7 @@ using namespace Opie;
54 54
55 55
56namespace Opie { 56namespace Opie {
57OContactAccessBackend_XML::OContactAccessBackend_XML ( const QString& appname, const QString& filename ): 57OPimContactAccessBackend_XML::OPimContactAccessBackend_XML ( const QString& appname, const QString& filename ):
58 m_changed( false ) 58 m_changed( false )
59{ 59{
60 // Just m_contactlist should call delete if an entry 60 // Just m_contactlist should call delete if an entry
@@ -78,7 +78,7 @@ OContactAccessBackend_XML::OContactAccessBackend_XML ( const QString& appname, c
78 load (); 78 load ();
79} 79}
80 80
81bool OContactAccessBackend_XML::save() 81bool OPimContactAccessBackend_XML::save()
82{ 82{
83 83
84 if ( !m_changed ) 84 if ( !m_changed )
@@ -104,7 +104,7 @@ bool OContactAccessBackend_XML::save()
104 out = ""; 104 out = "";
105 105
106 // Write all contacts 106 // Write all contacts
107 QListIterator<OContact> it( m_contactList ); 107 QListIterator<OPimContact> it( m_contactList );
108 for ( ; it.current(); ++it ) { 108 for ( ; it.current(); ++it ) {
109 // qWarning(" Uid %d at Offset: %x", (*it)->uid(), idx_offset ); 109 // qWarning(" Uid %d at Offset: %x", (*it)->uid(), idx_offset );
110 out += "<Contact "; 110 out += "<Contact ";
@@ -148,7 +148,7 @@ bool OContactAccessBackend_XML::save()
148 return true; 148 return true;
149} 149}
150 150
151bool OContactAccessBackend_XML::load () 151bool OPimContactAccessBackend_XML::load ()
152{ 152{
153 m_contactList.clear(); 153 m_contactList.clear();
154 m_uidToContact.clear(); 154 m_uidToContact.clear();
@@ -167,7 +167,7 @@ bool OContactAccessBackend_XML::load ()
167 return true; 167 return true;
168} 168}
169 169
170void OContactAccessBackend_XML::clear () 170void OPimContactAccessBackend_XML::clear ()
171{ 171{
172 m_contactList.clear(); 172 m_contactList.clear();
173 m_uidToContact.clear(); 173 m_uidToContact.clear();
@@ -175,7 +175,7 @@ void OContactAccessBackend_XML::clear ()
175 m_changed = false; 175 m_changed = false;
176} 176}
177 177
178bool OContactAccessBackend_XML::wasChangedExternally() 178bool OPimContactAccessBackend_XML::wasChangedExternally()
179{ 179{
180 QFileInfo fi( m_fileName ); 180 QFileInfo fi( m_fileName );
181 181
@@ -184,12 +184,12 @@ bool OContactAccessBackend_XML::wasChangedExternally()
184 return (lastmod != m_readtime); 184 return (lastmod != m_readtime);
185} 185}
186 186
187QArray<int> OContactAccessBackend_XML::allRecords() const 187QArray<int> OPimContactAccessBackend_XML::allRecords() const
188{ 188{
189 QArray<int> uid_list( m_contactList.count() ); 189 QArray<int> uid_list( m_contactList.count() );
190 190
191 uint counter = 0; 191 uint counter = 0;
192 QListIterator<OContact> it( m_contactList ); 192 QListIterator<OPimContact> it( m_contactList );
193 for( ; it.current(); ++it ){ 193 for( ; it.current(); ++it ){
194 uid_list[counter++] = (*it)->uid(); 194 uid_list[counter++] = (*it)->uid();
195 } 195 }
@@ -197,11 +197,11 @@ QArray<int> OContactAccessBackend_XML::allRecords() const
197 return ( uid_list ); 197 return ( uid_list );
198} 198}
199 199
200OContact OContactAccessBackend_XML::find ( int uid ) const 200OPimContact OPimContactAccessBackend_XML::find ( int uid ) const
201{ 201{
202 OContact foundContact; //Create empty contact 202 OPimContact foundContact; //Create empty contact
203 203
204 OContact* found = m_uidToContact.find( QString().setNum( uid ) ); 204 OPimContact* found = m_uidToContact.find( QString().setNum( uid ) );
205 205
206 if ( found ){ 206 if ( found ){
207 foundContact = *found; 207 foundContact = *found;
@@ -210,12 +210,12 @@ OContact OContactAccessBackend_XML::find ( int uid ) const
210 return ( foundContact ); 210 return ( foundContact );
211} 211}
212 212
213QArray<int> OContactAccessBackend_XML::queryByExample ( const OContact &query, int settings, 213QArray<int> OPimContactAccessBackend_XML::queryByExample ( const OPimContact &query, int settings,
214 const QDateTime& d ) 214 const QDateTime& d )
215{ 215{
216 216
217 QArray<int> m_currentQuery( m_contactList.count() ); 217 QArray<int> m_currentQuery( m_contactList.count() );
218 QListIterator<OContact> it( m_contactList ); 218 QListIterator<OPimContact> it( m_contactList );
219 uint arraycounter = 0; 219 uint arraycounter = 0;
220 220
221 for( ; it.current(); ++it ){ 221 for( ; it.current(); ++it ){
@@ -240,19 +240,19 @@ QArray<int> OContactAccessBackend_XML::queryByExample ( const OContact &query, i
240 240
241 if ( queryDate->isValid() ){ 241 if ( queryDate->isValid() ){
242 if( checkDate->isValid() ){ 242 if( checkDate->isValid() ){
243 if ( settings & OContactAccess::DateYear ){ 243 if ( settings & OPimContactAccess::DateYear ){
244 if ( queryDate->year() != checkDate->year() ) 244 if ( queryDate->year() != checkDate->year() )
245 allcorrect = false; 245 allcorrect = false;
246 } 246 }
247 if ( settings & OContactAccess::DateMonth ){ 247 if ( settings & OPimContactAccess::DateMonth ){
248 if ( queryDate->month() != checkDate->month() ) 248 if ( queryDate->month() != checkDate->month() )
249 allcorrect = false; 249 allcorrect = false;
250 } 250 }
251 if ( settings & OContactAccess::DateDay ){ 251 if ( settings & OPimContactAccess::DateDay ){
252 if ( queryDate->day() != checkDate->day() ) 252 if ( queryDate->day() != checkDate->day() )
253 allcorrect = false; 253 allcorrect = false;
254 } 254 }
255 if ( settings & OContactAccess::DateDiff ) { 255 if ( settings & OPimContactAccess::DateDiff ) {
256 QDate current; 256 QDate current;
257 // If we get an additional date, we 257 // If we get an additional date, we
258 // will take this date instead of 258 // will take this date instead of
@@ -301,32 +301,32 @@ QArray<int> OContactAccessBackend_XML::queryByExample ( const OContact &query, i
301 default: 301 default:
302 /* Just compare fields which are not empty in the query object */ 302 /* Just compare fields which are not empty in the query object */
303 if ( !query.field(i).isEmpty() ){ 303 if ( !query.field(i).isEmpty() ){
304 switch ( settings & ~( OContactAccess::IgnoreCase 304 switch ( settings & ~( OPimContactAccess::IgnoreCase
305 | OContactAccess::DateDiff 305 | OPimContactAccess::DateDiff
306 | OContactAccess::DateYear 306 | OPimContactAccess::DateYear
307 | OContactAccess::DateMonth 307 | OPimContactAccess::DateMonth
308 | OContactAccess::DateDay 308 | OPimContactAccess::DateDay
309 | OContactAccess::MatchOne 309 | OPimContactAccess::MatchOne
310 ) ){ 310 ) ){
311 311
312 case OContactAccess::RegExp:{ 312 case OPimContactAccess::RegExp:{
313 QRegExp expr ( query.field(i), 313 QRegExp expr ( query.field(i),
314 !(settings & OContactAccess::IgnoreCase), 314 !(settings & OPimContactAccess::IgnoreCase),
315 false ); 315 false );
316 if ( expr.find ( (*it)->field(i), 0 ) == -1 ) 316 if ( expr.find ( (*it)->field(i), 0 ) == -1 )
317 allcorrect = false; 317 allcorrect = false;
318 } 318 }
319 break; 319 break;
320 case OContactAccess::WildCards:{ 320 case OPimContactAccess::WildCards:{
321 QRegExp expr ( query.field(i), 321 QRegExp expr ( query.field(i),
322 !(settings & OContactAccess::IgnoreCase), 322 !(settings & OPimContactAccess::IgnoreCase),
323 true ); 323 true );
324 if ( expr.find ( (*it)->field(i), 0 ) == -1 ) 324 if ( expr.find ( (*it)->field(i), 0 ) == -1 )
325 allcorrect = false; 325 allcorrect = false;
326 } 326 }
327 break; 327 break;
328 case OContactAccess::ExactMatch:{ 328 case OPimContactAccess::ExactMatch:{
329 if (settings & OContactAccess::IgnoreCase){ 329 if (settings & OPimContactAccess::IgnoreCase){
330 if ( query.field(i).upper() != 330 if ( query.field(i).upper() !=
331 (*it)->field(i).upper() ) 331 (*it)->field(i).upper() )
332 allcorrect = false; 332 allcorrect = false;
@@ -351,10 +351,10 @@ QArray<int> OContactAccessBackend_XML::queryByExample ( const OContact &query, i
351 return m_currentQuery; 351 return m_currentQuery;
352} 352}
353 353
354QArray<int> OContactAccessBackend_XML::matchRegexp( const QRegExp &r ) const 354QArray<int> OPimContactAccessBackend_XML::matchRegexp( const QRegExp &r ) const
355{ 355{
356 QArray<int> m_currentQuery( m_contactList.count() ); 356 QArray<int> m_currentQuery( m_contactList.count() );
357 QListIterator<OContact> it( m_contactList ); 357 QListIterator<OPimContact> it( m_contactList );
358 uint arraycounter = 0; 358 uint arraycounter = 0;
359 359
360 for( ; it.current(); ++it ){ 360 for( ; it.current(); ++it ){
@@ -369,58 +369,58 @@ QArray<int> OContactAccessBackend_XML::matchRegexp( const QRegExp &r ) const
369 return m_currentQuery; 369 return m_currentQuery;
370} 370}
371 371
372const uint OContactAccessBackend_XML::querySettings() 372const uint OPimContactAccessBackend_XML::querySettings()
373{ 373{
374 return ( OContactAccess::WildCards 374 return ( OPimContactAccess::WildCards
375 | OContactAccess::IgnoreCase 375 | OPimContactAccess::IgnoreCase
376 | OContactAccess::RegExp 376 | OPimContactAccess::RegExp
377 | OContactAccess::ExactMatch 377 | OPimContactAccess::ExactMatch
378 | OContactAccess::DateDiff 378 | OPimContactAccess::DateDiff
379 | OContactAccess::DateYear 379 | OPimContactAccess::DateYear
380 | OContactAccess::DateMonth 380 | OPimContactAccess::DateMonth
381 | OContactAccess::DateDay 381 | OPimContactAccess::DateDay
382 ); 382 );
383} 383}
384 384
385bool OContactAccessBackend_XML::hasQuerySettings (uint querySettings) const 385bool OPimContactAccessBackend_XML::hasQuerySettings (uint querySettings) const
386{ 386{
387 /* OContactAccess::IgnoreCase, DateDiff, DateYear, DateMonth, DateDay 387 /* OPimContactAccess::IgnoreCase, DateDiff, DateYear, DateMonth, DateDay
388 * may be added with any of the other settings. IgnoreCase should never used alone. 388 * may be added with any of the other settings. IgnoreCase should never used alone.
389 * Wildcards, RegExp, ExactMatch should never used at the same time... 389 * Wildcards, RegExp, ExactMatch should never used at the same time...
390 */ 390 */
391 391
392 // Step 1: Check whether the given settings are supported by this backend 392 // Step 1: Check whether the given settings are supported by this backend
393 if ( ( querySettings & ( 393 if ( ( querySettings & (
394 OContactAccess::IgnoreCase 394 OPimContactAccess::IgnoreCase
395 | OContactAccess::WildCards 395 | OPimContactAccess::WildCards
396 | OContactAccess::DateDiff 396 | OPimContactAccess::DateDiff
397 | OContactAccess::DateYear 397 | OPimContactAccess::DateYear
398 | OContactAccess::DateMonth 398 | OPimContactAccess::DateMonth
399 | OContactAccess::DateDay 399 | OPimContactAccess::DateDay
400 | OContactAccess::RegExp 400 | OPimContactAccess::RegExp
401 | OContactAccess::ExactMatch 401 | OPimContactAccess::ExactMatch
402 ) ) != querySettings ) 402 ) ) != querySettings )
403 return false; 403 return false;
404 404
405 // Step 2: Check whether the given combinations are ok.. 405 // Step 2: Check whether the given combinations are ok..
406 406
407 // IngoreCase alone is invalid 407 // IngoreCase alone is invalid
408 if ( querySettings == OContactAccess::IgnoreCase ) 408 if ( querySettings == OPimContactAccess::IgnoreCase )
409 return false; 409 return false;
410 410
411 // WildCards, RegExp and ExactMatch should never used at the same time 411 // WildCards, RegExp and ExactMatch should never used at the same time
412 switch ( querySettings & ~( OContactAccess::IgnoreCase 412 switch ( querySettings & ~( OPimContactAccess::IgnoreCase
413 | OContactAccess::DateDiff 413 | OPimContactAccess::DateDiff
414 | OContactAccess::DateYear 414 | OPimContactAccess::DateYear
415 | OContactAccess::DateMonth 415 | OPimContactAccess::DateMonth
416 | OContactAccess::DateDay 416 | OPimContactAccess::DateDay
417 ) 417 )
418 ){ 418 ){
419 case OContactAccess::RegExp: 419 case OPimContactAccess::RegExp:
420 return ( true ); 420 return ( true );
421 case OContactAccess::WildCards: 421 case OPimContactAccess::WildCards:
422 return ( true ); 422 return ( true );
423 case OContactAccess::ExactMatch: 423 case OPimContactAccess::ExactMatch:
424 return ( true ); 424 return ( true );
425 case 0: // one of the upper removed bits were set.. 425 case 0: // one of the upper removed bits were set..
426 return ( true ); 426 return ( true );
@@ -430,7 +430,7 @@ bool OContactAccessBackend_XML::hasQuerySettings (uint querySettings) const
430} 430}
431 431
432// Currently only asc implemented.. 432// Currently only asc implemented..
433QArray<int> OContactAccessBackend_XML::sorted( bool asc, int , int , int ) 433QArray<int> OPimContactAccessBackend_XML::sorted( bool asc, int , int , int )
434{ 434{
435 QMap<QString, int> nameToUid; 435 QMap<QString, int> nameToUid;
436 QStringList names; 436 QStringList names;
@@ -438,7 +438,7 @@ QArray<int> OContactAccessBackend_XML::sorted( bool asc, int , int , int )
438 438
439 // First fill map and StringList with all Names 439 // First fill map and StringList with all Names
440 // Afterwards sort namelist and use map to fill array to return.. 440 // Afterwards sort namelist and use map to fill array to return..
441 QListIterator<OContact> it( m_contactList ); 441 QListIterator<OPimContact> it( m_contactList );
442 for( ; it.current(); ++it ){ 442 for( ; it.current(); ++it ){
443 names.append( (*it)->fileAs() + QString::number( (*it)->uid() ) ); 443 names.append( (*it)->fileAs() + QString::number( (*it)->uid() ) );
444 nameToUid.insert( (*it)->fileAs() + QString::number( (*it)->uid() ), (*it)->uid() ); 444 nameToUid.insert( (*it)->fileAs() + QString::number( (*it)->uid() ), (*it)->uid() );
@@ -458,7 +458,7 @@ QArray<int> OContactAccessBackend_XML::sorted( bool asc, int , int , int )
458 458
459} 459}
460 460
461bool OContactAccessBackend_XML::add ( const OContact &newcontact ) 461bool OPimContactAccessBackend_XML::add ( const OPimContact &newcontact )
462{ 462{
463 //qWarning("odefaultbackend: ACTION::ADD"); 463 //qWarning("odefaultbackend: ACTION::ADD");
464 updateJournal (newcontact, ACTION_ADD); 464 updateJournal (newcontact, ACTION_ADD);
@@ -469,14 +469,14 @@ bool OContactAccessBackend_XML::add ( const OContact &newcontact )
469 return true; 469 return true;
470} 470}
471 471
472bool OContactAccessBackend_XML::replace ( const OContact &contact ) 472bool OPimContactAccessBackend_XML::replace ( const OPimContact &contact )
473{ 473{
474 m_changed = true; 474 m_changed = true;
475 475
476 OContact* found = m_uidToContact.find ( QString().setNum( contact.uid() ) ); 476 OPimContact* found = m_uidToContact.find ( QString().setNum( contact.uid() ) );
477 477
478 if ( found ) { 478 if ( found ) {
479 OContact* newCont = new OContact( contact ); 479 OPimContact* newCont = new OPimContact( contact );
480 480
481 updateJournal ( *newCont, ACTION_REPLACE); 481 updateJournal ( *newCont, ACTION_REPLACE);
482 m_contactList.removeRef ( found ); 482 m_contactList.removeRef ( found );
@@ -491,11 +491,11 @@ bool OContactAccessBackend_XML::replace ( const OContact &contact )
491 return false; 491 return false;
492} 492}
493 493
494bool OContactAccessBackend_XML::remove ( int uid ) 494bool OPimContactAccessBackend_XML::remove ( int uid )
495{ 495{
496 m_changed = true; 496 m_changed = true;
497 497
498 OContact* found = m_uidToContact.find ( QString().setNum( uid ) ); 498 OPimContact* found = m_uidToContact.find ( QString().setNum( uid ) );
499 499
500 if ( found ) { 500 if ( found ) {
501 updateJournal ( *found, ACTION_REMOVE); 501 updateJournal ( *found, ACTION_REMOVE);
@@ -507,21 +507,21 @@ bool OContactAccessBackend_XML::remove ( int uid )
507 return false; 507 return false;
508} 508}
509 509
510bool OContactAccessBackend_XML::reload(){ 510bool OPimContactAccessBackend_XML::reload(){
511 /* Reload is the same as load in this implementation */ 511 /* Reload is the same as load in this implementation */
512 return ( load() ); 512 return ( load() );
513} 513}
514 514
515void OContactAccessBackend_XML::addContact_p( const OContact &newcontact ) 515void OPimContactAccessBackend_XML::addContact_p( const OPimContact &newcontact )
516{ 516{
517 OContact* contRef = new OContact( newcontact ); 517 OPimContact* contRef = new OPimContact( newcontact );
518 518
519 m_contactList.append ( contRef ); 519 m_contactList.append ( contRef );
520 m_uidToContact.insert( QString().setNum( newcontact.uid() ), contRef ); 520 m_uidToContact.insert( QString().setNum( newcontact.uid() ), contRef );
521} 521}
522 522
523/* This function loads the xml-database and the journalfile */ 523/* This function loads the xml-database and the journalfile */
524bool OContactAccessBackend_XML::load( const QString filename, bool isJournal ) 524bool OPimContactAccessBackend_XML::load( const QString filename, bool isJournal )
525{ 525{
526 526
527 /* We use the time of the last read to check if the file was 527 /* We use the time of the last read to check if the file was
@@ -590,7 +590,7 @@ bool OContactAccessBackend_XML::load( const QString filename, bool isJournal )
590 dict.insert( "action", new int(JOURNALACTION) ); 590 dict.insert( "action", new int(JOURNALACTION) );
591 dict.insert( "actionrow", new int(JOURNALROW) ); 591 dict.insert( "actionrow", new int(JOURNALROW) );
592 592
593 //qWarning( "OContactDefaultBackEnd::loading %s", filename.latin1() ); 593 //qWarning( "OPimContactDefaultBackEnd::loading %s", filename.latin1() );
594 594
595 XMLElement *root = XMLElement::load( filename ); 595 XMLElement *root = XMLElement::load( filename );
596 if(root != 0l ){ // start parsing 596 if(root != 0l ){ // start parsing
@@ -598,13 +598,13 @@ bool OContactAccessBackend_XML::load( const QString filename, bool isJournal )
598 * Contact-Class 598 * Contact-Class
599 */ 599 */
600 XMLElement *element = root->firstChild(); 600 XMLElement *element = root->firstChild();
601 //qWarning("OContactAccess::load tagName(): %s", root->tagName().latin1() ); 601 //qWarning("OPimContactAccess::load tagName(): %s", root->tagName().latin1() );
602 element = element->firstChild(); 602 element = element->firstChild();
603 603
604 /* Search Tag "Contacts" which is the parent of all Contacts */ 604 /* Search Tag "Contacts" which is the parent of all Contacts */
605 while( element && !isJournal ){ 605 while( element && !isJournal ){
606 if( element->tagName() != QString::fromLatin1("Contacts") ){ 606 if( element->tagName() != QString::fromLatin1("Contacts") ){
607 //qWarning ("OContactDefBack::Searching for Tag \"Contacts\"! Found: %s", 607 //qWarning ("OPimContactDefBack::Searching for Tag \"Contacts\"! Found: %s",
608 // element->tagName().latin1()); 608 // element->tagName().latin1());
609 element = element->nextChild(); 609 element = element->nextChild();
610 } else { 610 } else {
@@ -615,7 +615,7 @@ bool OContactAccessBackend_XML::load( const QString filename, bool isJournal )
615 /* Parse all Contacts and ignore unknown tags */ 615 /* Parse all Contacts and ignore unknown tags */
616 while( element ){ 616 while( element ){
617 if( element->tagName() != QString::fromLatin1("Contact") ){ 617 if( element->tagName() != QString::fromLatin1("Contact") ){
618 //qWarning ("OContactDefBack::Searching for Tag \"Contact\"! Found: %s", 618 //qWarning ("OPimContactDefBack::Searching for Tag \"Contact\"! Found: %s",
619 // element->tagName().latin1()); 619 // element->tagName().latin1());
620 element = element->nextChild(); 620 element = element->nextChild();
621 continue; 621 continue;
@@ -623,7 +623,7 @@ bool OContactAccessBackend_XML::load( const QString filename, bool isJournal )
623 /* Found alement with tagname "contact", now parse and store all 623 /* Found alement with tagname "contact", now parse and store all
624 * attributes contained 624 * attributes contained
625 */ 625 */
626 //qWarning("OContactDefBack::load element tagName() : %s", 626 //qWarning("OPimContactDefBack::load element tagName() : %s",
627 // element->tagName().latin1() ); 627 // element->tagName().latin1() );
628 QString dummy; 628 QString dummy;
629 foundAction = false; 629 foundAction = false;
@@ -670,7 +670,7 @@ bool OContactAccessBackend_XML::load( const QString filename, bool isJournal )
670 } 670 }
671 } 671 }
672 /* now generate the Contact contact */ 672 /* now generate the Contact contact */
673 OContact contact( contactMap ); 673 OPimContact contact( contactMap );
674 674
675 for (customIt = customMap.begin(); customIt != customMap.end(); ++customIt ) { 675 for (customIt = customMap.begin(); customIt != customMap.end(); ++customIt ) {
676 contact.setCustomField( customIt.key(), customIt.data() ); 676 contact.setCustomField( customIt.key(), customIt.data() );
@@ -713,7 +713,7 @@ bool OContactAccessBackend_XML::load( const QString filename, bool isJournal )
713} 713}
714 714
715 715
716void OContactAccessBackend_XML::updateJournal( const OContact& cnt, 716void OPimContactAccessBackend_XML::updateJournal( const OPimContact& cnt,
717 journal_action action ) 717 journal_action action )
718{ 718{
719 QFile f( m_journalName ); 719 QFile f( m_journalName );
@@ -741,7 +741,7 @@ void OContactAccessBackend_XML::updateJournal( const OContact& cnt,
741 f.writeBlock( cstr.data(), cstr.length() ); 741 f.writeBlock( cstr.data(), cstr.length() );
742} 742}
743 743
744void OContactAccessBackend_XML::removeJournal() 744void OPimContactAccessBackend_XML::removeJournal()
745{ 745{
746 QFile f ( m_journalName ); 746 QFile f ( m_journalName );
747 if ( f.exists() ) 747 if ( f.exists() )
diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_xml.h b/libopie2/opiepim/backend/ocontactaccessbackend_xml.h
index f439c4c..eaea352 100644
--- a/libopie2/opiepim/backend/ocontactaccessbackend_xml.h
+++ b/libopie2/opiepim/backend/ocontactaccessbackend_xml.h
@@ -30,8 +30,8 @@
30 * XML Backend for the OPIE-Contact Database. 30 * XML Backend for the OPIE-Contact Database.
31 */ 31 */
32 32
33#ifndef _OContactAccessBackend_XML_ 33#ifndef _OPimContactAccessBackend_XML_
34#define _OContactAccessBackend_XML_ 34#define _OPimContactAccessBackend_XML_
35 35
36#include <opie2/ocontactaccessbackend.h> 36#include <opie2/ocontactaccessbackend.h>
37#include <opie2/ocontactaccess.h> 37#include <opie2/ocontactaccess.h>
@@ -43,12 +43,12 @@ namespace Opie {
43/* the default xml implementation */ 43/* the default xml implementation */
44/** 44/**
45 * This class is the XML implementation of a Contact backend 45 * This class is the XML implementation of a Contact backend
46 * it does implement everything available for OContact. 46 * it does implement everything available for OPimContact.
47 * @see OPimAccessBackend for more information of available methods 47 * @see OPimAccessBackend for more information of available methods
48 */ 48 */
49class OContactAccessBackend_XML : public OContactAccessBackend { 49class OPimContactAccessBackend_XML : public OPimContactAccessBackend {
50 public: 50 public:
51 OContactAccessBackend_XML ( const QString& appname, const QString& filename = QString::null ); 51 OPimContactAccessBackend_XML ( const QString& appname, const QString& filename = QString::null );
52 52
53 bool save(); 53 bool save();
54 54
@@ -60,9 +60,9 @@ class OContactAccessBackend_XML : public OContactAccessBackend {
60 60
61 QArray<int> allRecords() const; 61 QArray<int> allRecords() const;
62 62
63 OContact find ( int uid ) const; 63 OPimContact find ( int uid ) const;
64 64
65 QArray<int> queryByExample ( const OContact &query, int settings, const QDateTime& d = QDateTime() ); 65 QArray<int> queryByExample ( const OPimContact &query, int settings, const QDateTime& d = QDateTime() );
66 66
67 QArray<int> matchRegexp( const QRegExp &r ) const; 67 QArray<int> matchRegexp( const QRegExp &r ) const;
68 68
@@ -72,9 +72,9 @@ class OContactAccessBackend_XML : public OContactAccessBackend {
72 72
73 // Currently only asc implemented.. 73 // Currently only asc implemented..
74 QArray<int> sorted( bool asc, int , int , int ); 74 QArray<int> sorted( bool asc, int , int , int );
75 bool add ( const OContact &newcontact ); 75 bool add ( const OPimContact &newcontact );
76 76
77 bool replace ( const OContact &contact ); 77 bool replace ( const OPimContact &contact );
78 78
79 bool remove ( int uid ); 79 bool remove ( int uid );
80 bool reload(); 80 bool reload();
@@ -83,13 +83,13 @@ class OContactAccessBackend_XML : public OContactAccessBackend {
83 83
84 enum journal_action { ACTION_ADD, ACTION_REMOVE, ACTION_REPLACE }; 84 enum journal_action { ACTION_ADD, ACTION_REMOVE, ACTION_REPLACE };
85 85
86 void addContact_p( const OContact &newcontact ); 86 void addContact_p( const OPimContact &newcontact );
87 87
88 /* This function loads the xml-database and the journalfile */ 88 /* This function loads the xml-database and the journalfile */
89 bool load( const QString filename, bool isJournal ); 89 bool load( const QString filename, bool isJournal );
90 90
91 91
92 void updateJournal( const OContact& cnt, journal_action action ); 92 void updateJournal( const OPimContact& cnt, journal_action action );
93 void removeJournal(); 93 void removeJournal();
94 94
95 protected: 95 protected:
@@ -97,10 +97,10 @@ class OContactAccessBackend_XML : public OContactAccessBackend {
97 QString m_journalName; 97 QString m_journalName;
98 QString m_fileName; 98 QString m_fileName;
99 QString m_appName; 99 QString m_appName;
100 QList<OContact> m_contactList; 100 QList<OPimContact> m_contactList;
101 QDateTime m_readtime; 101 QDateTime m_readtime;
102 102
103 QDict<OContact> m_uidToContact; 103 QDict<OPimContact> m_uidToContact;
104}; 104};
105 105
106} 106}
diff --git a/libopie2/opiepim/backend/odatebookaccessbackend.cpp b/libopie2/opiepim/backend/odatebookaccessbackend.cpp
index 9bf4bf0..f3b7b5f 100644
--- a/libopie2/opiepim/backend/odatebookaccessbackend.cpp
+++ b/libopie2/opiepim/backend/odatebookaccessbackend.cpp
@@ -28,7 +28,7 @@
28*/ 28*/
29#include <qtl.h> 29#include <qtl.h>
30 30
31#include <opie2/orecur.h> 31#include <opie2/opimrecurrence.h>
32 32
33#include <opie2/odatebookaccessbackend.h> 33#include <opie2/odatebookaccessbackend.h>
34 34
@@ -36,11 +36,11 @@ using namespace Opie;
36 36
37namespace { 37namespace {
38/* a small helper to get all NonRepeating events for a range of time */ 38/* a small helper to get all NonRepeating events for a range of time */
39 void events( OEffectiveEvent::ValueList& tmpList, const OEvent::ValueList& events, 39 void events( OEffectiveEvent::ValueList& tmpList, const OPimEvent::ValueList& events,
40 const QDate& from, const QDate& to ) { 40 const QDate& from, const QDate& to ) {
41 QDateTime dtStart, dtEnd; 41 QDateTime dtStart, dtEnd;
42 42
43 for ( OEvent::ValueList::ConstIterator it = events.begin(); it != events.end(); ++it ) { 43 for ( OPimEvent::ValueList::ConstIterator it = events.begin(); it != events.end(); ++it ) {
44 dtStart = (*it).startDateTime(); 44 dtStart = (*it).startDateTime();
45 dtEnd = (*it).endDateTime(); 45 dtEnd = (*it).endDateTime();
46 46
@@ -91,13 +91,13 @@ namespace {
91 } 91 }
92 } 92 }
93 93
94 void repeat( OEffectiveEvent::ValueList& tmpList, const OEvent::ValueList& list, 94 void repeat( OEffectiveEvent::ValueList& tmpList, const OPimEvent::ValueList& list,
95 const QDate& from, const QDate& to ) { 95 const QDate& from, const QDate& to ) {
96 QDate repeat; 96 QDate repeat;
97 for ( OEvent::ValueList::ConstIterator it = list.begin(); it != list.end(); ++it ) { 97 for ( OPimEvent::ValueList::ConstIterator it = list.begin(); it != list.end(); ++it ) {
98 int dur = (*it).startDateTime().date().daysTo( (*it).endDateTime().date() ); 98 int dur = (*it).startDateTime().date().daysTo( (*it).endDateTime().date() );
99 QDate itDate = from.addDays(-dur ); 99 QDate itDate = from.addDays(-dur );
100 ORecur rec = (*it).recurrence(); 100 OPimRecurrence rec = (*it).recurrence();
101 if ( !rec.hasEndDate() || rec.endDate() > to ) { 101 if ( !rec.hasEndDate() || rec.endDate() > to ) {
102 rec.setEndDate( to ); 102 rec.setEndDate( to );
103 rec.setHasEndDate( true ); 103 rec.setHasEndDate( true );
@@ -152,7 +152,7 @@ namespace {
152namespace Opie { 152namespace Opie {
153 153
154ODateBookAccessBackend::ODateBookAccessBackend() 154ODateBookAccessBackend::ODateBookAccessBackend()
155 : OPimAccessBackend<OEvent>() 155 : OPimAccessBackend<OPimEvent>()
156{ 156{
157 157
158} 158}
@@ -162,7 +162,7 @@ ODateBookAccessBackend::~ODateBookAccessBackend() {
162OEffectiveEvent::ValueList ODateBookAccessBackend::effectiveEvents( const QDate& from, 162OEffectiveEvent::ValueList ODateBookAccessBackend::effectiveEvents( const QDate& from,
163 const QDate& to ) { 163 const QDate& to ) {
164 OEffectiveEvent::ValueList tmpList; 164 OEffectiveEvent::ValueList tmpList;
165 OEvent::ValueList list = directNonRepeats(); 165 OPimEvent::ValueList list = directNonRepeats();
166 166
167 events( tmpList, list, from, to ); 167 events( tmpList, list, from, to );
168 repeat( tmpList, directRawRepeats(),from,to ); 168 repeat( tmpList, directRawRepeats(),from,to );
@@ -190,7 +190,7 @@ OEffectiveEvent::ValueList ODateBookAccessBackend::effectiveEvents( const QDateT
190OEffectiveEvent::ValueList ODateBookAccessBackend::effectiveNonRepeatingEvents( const QDate& from, 190OEffectiveEvent::ValueList ODateBookAccessBackend::effectiveNonRepeatingEvents( const QDate& from,
191 const QDate& to ) { 191 const QDate& to ) {
192 OEffectiveEvent::ValueList tmpList; 192 OEffectiveEvent::ValueList tmpList;
193 OEvent::ValueList list = directNonRepeats(); 193 OPimEvent::ValueList list = directNonRepeats();
194 194
195 events( tmpList, list, from, to ); 195 events( tmpList, list, from, to );
196 196
diff --git a/libopie2/opiepim/backend/odatebookaccessbackend.h b/libopie2/opiepim/backend/odatebookaccessbackend.h
index 6853670..a9cce6a 100644
--- a/libopie2/opiepim/backend/odatebookaccessbackend.h
+++ b/libopie2/opiepim/backend/odatebookaccessbackend.h
@@ -32,7 +32,7 @@
32#include <qarray.h> 32#include <qarray.h>
33 33
34#include <opie2/opimaccessbackend.h> 34#include <opie2/opimaccessbackend.h>
35#include <opie2/oevent.h> 35#include <opie2/opimevent.h>
36 36
37namespace Opie { 37namespace Opie {
38/** 38/**
@@ -40,7 +40,7 @@ namespace Opie {
40 * @see OPimAccessBackend 40 * @see OPimAccessBackend
41 * 41 *
42 */ 42 */
43class ODateBookAccessBackend : public OPimAccessBackend<OEvent> { 43class ODateBookAccessBackend : public OPimAccessBackend<OPimEvent> {
44public: 44public:
45 typedef int UID; 45 typedef int UID;
46 46
@@ -76,12 +76,12 @@ public:
76 * you need to supply it with directNonRepeats. 76 * you need to supply it with directNonRepeats.
77 * This method can return empty lists if effectiveEvents is implememted 77 * This method can return empty lists if effectiveEvents is implememted
78 */ 78 */
79 virtual OEvent::ValueList directNonRepeats() = 0; 79 virtual OPimEvent::ValueList directNonRepeats() = 0;
80 80
81 /** 81 /**
82 * Same as above but return raw repeats! 82 * Same as above but return raw repeats!
83 */ 83 */
84 virtual OEvent::ValueList directRawRepeats() = 0; 84 virtual OPimEvent::ValueList directRawRepeats() = 0;
85 85
86 /* is implemented by default but you can reimplement it*/ 86 /* is implemented by default but you can reimplement it*/
87 /** 87 /**
diff --git a/libopie2/opiepim/backend/odatebookaccessbackend_sql.cpp b/libopie2/opiepim/backend/odatebookaccessbackend_sql.cpp
index e79696c..2ee76cc 100644
--- a/libopie2/opiepim/backend/odatebookaccessbackend_sql.cpp
+++ b/libopie2/opiepim/backend/odatebookaccessbackend_sql.cpp
@@ -43,7 +43,7 @@
43#include <opie2/osqlmanager.h> 43#include <opie2/osqlmanager.h>
44#include <opie2/osqlquery.h> 44#include <opie2/osqlquery.h>
45 45
46#include <opie2/orecur.h> 46#include <opie2/opimrecurrence.h>
47#include <opie2/odatebookaccessbackend_sql.h> 47#include <opie2/odatebookaccessbackend_sql.h>
48 48
49namespace Opie { 49namespace Opie {
@@ -75,27 +75,27 @@ void ODateBookAccessBackend_SQL::initFields()
75 75
76 // This map contains the translation of the fieldtype id's to 76 // This map contains the translation of the fieldtype id's to
77 // the names of the table columns 77 // the names of the table columns
78 m_fieldMap.insert( OEvent::FUid, "uid" ); 78 m_fieldMap.insert( OPimEvent::FUid, "uid" );
79 m_fieldMap.insert( OEvent::FCategories, "Categories" ); 79 m_fieldMap.insert( OPimEvent::FCategories, "Categories" );
80 m_fieldMap.insert( OEvent::FDescription, "Description" ); 80 m_fieldMap.insert( OPimEvent::FDescription, "Description" );
81 m_fieldMap.insert( OEvent::FLocation, "Location" ); 81 m_fieldMap.insert( OPimEvent::FLocation, "Location" );
82 m_fieldMap.insert( OEvent::FType, "Type" ); 82 m_fieldMap.insert( OPimEvent::FType, "Type" );
83 m_fieldMap.insert( OEvent::FAlarm, "Alarm" ); 83 m_fieldMap.insert( OPimEvent::FAlarm, "Alarm" );
84 m_fieldMap.insert( OEvent::FSound, "Sound" ); 84 m_fieldMap.insert( OPimEvent::FSound, "Sound" );
85 m_fieldMap.insert( OEvent::FRType, "RType" ); 85 m_fieldMap.insert( OPimEvent::FRType, "RType" );
86 m_fieldMap.insert( OEvent::FRWeekdays, "RWeekdays" ); 86 m_fieldMap.insert( OPimEvent::FRWeekdays, "RWeekdays" );
87 m_fieldMap.insert( OEvent::FRPosition, "RPosition" ); 87 m_fieldMap.insert( OPimEvent::FRPosition, "RPosition" );
88 m_fieldMap.insert( OEvent::FRFreq, "RFreq" ); 88 m_fieldMap.insert( OPimEvent::FRFreq, "RFreq" );
89 m_fieldMap.insert( OEvent::FRHasEndDate, "RHasEndDate" ); 89 m_fieldMap.insert( OPimEvent::FRHasEndDate, "RHasEndDate" );
90 m_fieldMap.insert( OEvent::FREndDate, "REndDate" ); 90 m_fieldMap.insert( OPimEvent::FREndDate, "REndDate" );
91 m_fieldMap.insert( OEvent::FRCreated, "RCreated" ); 91 m_fieldMap.insert( OPimEvent::FRCreated, "RCreated" );
92 m_fieldMap.insert( OEvent::FRExceptions, "RExceptions" ); 92 m_fieldMap.insert( OPimEvent::FRExceptions, "RExceptions" );
93 m_fieldMap.insert( OEvent::FStart, "Start" ); 93 m_fieldMap.insert( OPimEvent::FStart, "Start" );
94 m_fieldMap.insert( OEvent::FEnd, "End" ); 94 m_fieldMap.insert( OPimEvent::FEnd, "End" );
95 m_fieldMap.insert( OEvent::FNote, "Note" ); 95 m_fieldMap.insert( OPimEvent::FNote, "Note" );
96 m_fieldMap.insert( OEvent::FTimeZone, "TimeZone" ); 96 m_fieldMap.insert( OPimEvent::FTimeZone, "TimeZone" );
97 m_fieldMap.insert( OEvent::FRecParent, "RecParent" ); 97 m_fieldMap.insert( OPimEvent::FRecParent, "RecParent" );
98 m_fieldMap.insert( OEvent::FRecChildren, "Recchildren" ); 98 m_fieldMap.insert( OPimEvent::FRecChildren, "Recchildren" );
99 99
100 // Create a map that maps the column name to the id 100 // Create a map that maps the column name to the id
101 QMapConstIterator<int, QString> it; 101 QMapConstIterator<int, QString> it;
@@ -165,7 +165,7 @@ QArray<int> ODateBookAccessBackend_SQL::allRecords()const
165 return m_uids; 165 return m_uids;
166} 166}
167 167
168QArray<int> ODateBookAccessBackend_SQL::queryByExample(const OEvent&, int, const QDateTime& ) { 168QArray<int> ODateBookAccessBackend_SQL::queryByExample(const OPimEvent&, int, const QDateTime& ) {
169 return QArray<int>(); 169 return QArray<int>();
170} 170}
171 171
@@ -181,7 +181,7 @@ void ODateBookAccessBackend_SQL::clear()
181} 181}
182 182
183 183
184OEvent ODateBookAccessBackend_SQL::find( int uid ) const{ 184OPimEvent ODateBookAccessBackend_SQL::find( int uid ) const{
185 QString qu = "select *"; 185 QString qu = "select *";
186 qu += "from datebook where uid = " + QString::number(uid); 186 qu += "from datebook where uid = " + QString::number(uid);
187 187
@@ -192,7 +192,7 @@ OEvent ODateBookAccessBackend_SQL::find( int uid ) const{
192 192
193 // Create Map for date event and insert UID 193 // Create Map for date event and insert UID
194 QMap<int,QString> dateEventMap; 194 QMap<int,QString> dateEventMap;
195 dateEventMap.insert( OEvent::FUid, QString::number( uid ) ); 195 dateEventMap.insert( OPimEvent::FUid, QString::number( uid ) );
196 196
197 // Now insert the data out of the columns into the map. 197 // Now insert the data out of the columns into the map.
198 QMapConstIterator<int, QString> it; 198 QMapConstIterator<int, QString> it;
@@ -201,13 +201,13 @@ OEvent ODateBookAccessBackend_SQL::find( int uid ) const{
201 } 201 }
202 202
203 // Last step: Put map into date event and return it 203 // Last step: Put map into date event and return it
204 OEvent retDate( dateEventMap ); 204 OPimEvent retDate( dateEventMap );
205 205
206 return retDate; 206 return retDate;
207} 207}
208 208
209// FIXME: Speed up update of uid's.. 209// FIXME: Speed up update of uid's..
210bool ODateBookAccessBackend_SQL::add( const OEvent& ev ) 210bool ODateBookAccessBackend_SQL::add( const OPimEvent& ev )
211{ 211{
212 QMap<int,QString> eventMap = ev.toMap(); 212 QMap<int,QString> eventMap = ev.toMap();
213 213
@@ -272,7 +272,7 @@ bool ODateBookAccessBackend_SQL::remove( int uid )
272 return true; 272 return true;
273} 273}
274 274
275bool ODateBookAccessBackend_SQL::replace( const OEvent& ev ) 275bool ODateBookAccessBackend_SQL::replace( const OPimEvent& ev )
276{ 276{
277 remove( ev.uid() ); 277 remove( ev.uid() );
278 return add( ev ); 278 return add( ev );
@@ -309,10 +309,10 @@ QArray<int> ODateBookAccessBackend_SQL::nonRepeats()const
309 return extractUids( res ); 309 return extractUids( res );
310} 310}
311 311
312OEvent::ValueList ODateBookAccessBackend_SQL::directNonRepeats() 312OPimEvent::ValueList ODateBookAccessBackend_SQL::directNonRepeats()
313{ 313{
314 QArray<int> nonRepUids = nonRepeats(); 314 QArray<int> nonRepUids = nonRepeats();
315 OEvent::ValueList list; 315 OPimEvent::ValueList list;
316 316
317 for (uint i = 0; i < nonRepUids.count(); ++i ){ 317 for (uint i = 0; i < nonRepUids.count(); ++i ){
318 list.append( find( nonRepUids[i] ) ); 318 list.append( find( nonRepUids[i] ) );
@@ -321,10 +321,10 @@ OEvent::ValueList ODateBookAccessBackend_SQL::directNonRepeats()
321 return list; 321 return list;
322 322
323} 323}
324OEvent::ValueList ODateBookAccessBackend_SQL::directRawRepeats() 324OPimEvent::ValueList ODateBookAccessBackend_SQL::directRawRepeats()
325{ 325{
326 QArray<int> rawRepUids = rawRepeats(); 326 QArray<int> rawRepUids = rawRepeats();
327 OEvent::ValueList list; 327 OPimEvent::ValueList list;
328 328
329 for (uint i = 0; i < rawRepUids.count(); ++i ){ 329 for (uint i = 0; i < rawRepUids.count(); ++i ){
330 list.append( find( rawRepUids[i] ) ); 330 list.append( find( rawRepUids[i] ) );
diff --git a/libopie2/opiepim/backend/odatebookaccessbackend_sql.h b/libopie2/opiepim/backend/odatebookaccessbackend_sql.h
index 89939ef..cbfeb97 100644
--- a/libopie2/opiepim/backend/odatebookaccessbackend_sql.h
+++ b/libopie2/opiepim/backend/odatebookaccessbackend_sql.h
@@ -55,19 +55,19 @@ public:
55 55
56 QArray<int> allRecords()const; 56 QArray<int> allRecords()const;
57 QArray<int> matchRegexp(const QRegExp &r) const; 57 QArray<int> matchRegexp(const QRegExp &r) const;
58 QArray<int> queryByExample( const OEvent&, int, const QDateTime& d = QDateTime() ); 58 QArray<int> queryByExample( const OPimEvent&, int, const QDateTime& d = QDateTime() );
59 OEvent find( int uid )const; 59 OPimEvent find( int uid )const;
60 void clear(); 60 void clear();
61 bool add( const OEvent& ev ); 61 bool add( const OPimEvent& ev );
62 bool remove( int uid ); 62 bool remove( int uid );
63 bool replace( const OEvent& ev ); 63 bool replace( const OPimEvent& ev );
64 64
65 QArray<UID> rawEvents()const; 65 QArray<UID> rawEvents()const;
66 QArray<UID> rawRepeats()const; 66 QArray<UID> rawRepeats()const;
67 QArray<UID> nonRepeats()const; 67 QArray<UID> nonRepeats()const;
68 68
69 OEvent::ValueList directNonRepeats(); 69 OPimEvent::ValueList directNonRepeats();
70 OEvent::ValueList directRawRepeats(); 70 OPimEvent::ValueList directRawRepeats();
71 71
72private: 72private:
73 bool loadFile(); 73 bool loadFile();
diff --git a/libopie2/opiepim/backend/odatebookaccessbackend_xml.cpp b/libopie2/opiepim/backend/odatebookaccessbackend_xml.cpp
index 0ebda98..77c0253 100644
--- a/libopie2/opiepim/backend/odatebookaccessbackend_xml.cpp
+++ b/libopie2/opiepim/backend/odatebookaccessbackend_xml.cpp
@@ -46,8 +46,8 @@
46#include <qtopia/timeconversion.h> 46#include <qtopia/timeconversion.h>
47 47
48#include <opie2/opimnotifymanager.h> 48#include <opie2/opimnotifymanager.h>
49#include <opie2/orecur.h> 49#include <opie2/opimrecurrence.h>
50#include <opie2/otimezone.h> 50#include <opie2/opimtimezone.h>
51#include <opie2/odatebookaccessbackend_xml.h> 51#include <opie2/odatebookaccessbackend_xml.h>
52 52
53using namespace Opie; 53using namespace Opie;
@@ -81,10 +81,10 @@ char *strstrlen(const char *haystack, int hLen, const char* needle, int nLen)
81 81
82namespace { 82namespace {
83 time_t start, end, created, rp_end; 83 time_t start, end, created, rp_end;
84 ORecur* rec; 84 OPimRecurrence* rec;
85 ORecur* recur() { 85 OPimRecurrence* recur() {
86 if (!rec) 86 if (!rec)
87 rec = new ORecur; 87 rec = new OPimRecurrence;
88 88
89 return rec; 89 return rec;
90 } 90 }
@@ -114,8 +114,8 @@ namespace {
114 FExceptions 114 FExceptions
115 }; 115 };
116 116
117 // FIXME: Use OEvent::toMap() here !! (eilers) 117 // FIXME: Use OPimEvent::toMap() here !! (eilers)
118 inline void save( const OEvent& ev, QString& buf ) { 118 inline void save( const OPimEvent& ev, QString& buf ) {
119 qWarning("Saving %d %s", ev.uid(), ev.description().latin1() ); 119 qWarning("Saving %d %s", ev.uid(), ev.description().latin1() );
120 buf += " description=\"" + Qtopia::escapeString(ev.description() ) + "\""; 120 buf += " description=\"" + Qtopia::escapeString(ev.description() ) + "\"";
121 if (!ev.location().isEmpty() ) 121 if (!ev.location().isEmpty() )
@@ -146,9 +146,9 @@ namespace {
146 * the QDateTime to a QDateTime in UTC time 146 * the QDateTime to a QDateTime in UTC time
147 * and then we'll create a nice time_t 147 * and then we'll create a nice time_t
148 */ 148 */
149 OTimeZone zone( ev.timeZone().isEmpty() ? OTimeZone::current() : ev.timeZone() ); 149 OPimTimeZone zone( ev.timeZone().isEmpty() ? OPimTimeZone::current() : ev.timeZone() );
150 buf += " start=\"" + QString::number( zone.fromUTCDateTime( zone.toDateTime( ev.startDateTime(), OTimeZone::utc() ) ) ) + "\""; 150 buf += " start=\"" + QString::number( zone.fromUTCDateTime( zone.toDateTime( ev.startDateTime(), OPimTimeZone::utc() ) ) ) + "\"";
151 buf += " end=\"" + QString::number( zone.fromUTCDateTime( zone.toDateTime( ev.endDateTime() , OTimeZone::utc() ) ) ) + "\""; 151 buf += " end=\"" + QString::number( zone.fromUTCDateTime( zone.toDateTime( ev.endDateTime() , OPimTimeZone::utc() ) ) ) + "\"";
152 if (!ev.note().isEmpty() ) { 152 if (!ev.note().isEmpty() ) {
153 buf += " note=\"" + Qtopia::escapeString( ev.note() ) + "\""; 153 buf += " note=\"" + Qtopia::escapeString( ev.note() ) + "\"";
154 } 154 }
@@ -177,8 +177,8 @@ namespace {
177 // skip custom writing 177 // skip custom writing
178 } 178 }
179 179
180 inline bool forAll( const QMap<int, OEvent>& list, QFile& file ) { 180 inline bool forAll( const QMap<int, OPimEvent>& list, QFile& file ) {
181 QMap<int, OEvent>::ConstIterator it; 181 QMap<int, OPimEvent>::ConstIterator it;
182 QString buf; 182 QString buf;
183 QCString str; 183 QCString str;
184 int total_written; 184 int total_written;
@@ -264,7 +264,7 @@ bool ODateBookAccessBackend_XML::save() {
264QArray<int> ODateBookAccessBackend_XML::allRecords()const { 264QArray<int> ODateBookAccessBackend_XML::allRecords()const {
265 QArray<int> ints( m_raw.count()+ m_rep.count() ); 265 QArray<int> ints( m_raw.count()+ m_rep.count() );
266 uint i = 0; 266 uint i = 0;
267 QMap<int, OEvent>::ConstIterator it; 267 QMap<int, OPimEvent>::ConstIterator it;
268 268
269 for ( it = m_raw.begin(); it != m_raw.end(); ++it ) { 269 for ( it = m_raw.begin(); it != m_raw.end(); ++it ) {
270 ints[i] = it.key(); 270 ints[i] = it.key();
@@ -277,7 +277,7 @@ QArray<int> ODateBookAccessBackend_XML::allRecords()const {
277 277
278 return ints; 278 return ints;
279} 279}
280QArray<int> ODateBookAccessBackend_XML::queryByExample(const OEvent&, int, const QDateTime& ) { 280QArray<int> ODateBookAccessBackend_XML::queryByExample(const OPimEvent&, int, const QDateTime& ) {
281 return QArray<int>(); 281 return QArray<int>();
282} 282}
283void ODateBookAccessBackend_XML::clear() { 283void ODateBookAccessBackend_XML::clear() {
@@ -285,13 +285,13 @@ void ODateBookAccessBackend_XML::clear() {
285 m_raw.clear(); 285 m_raw.clear();
286 m_rep.clear(); 286 m_rep.clear();
287} 287}
288OEvent ODateBookAccessBackend_XML::find( int uid ) const{ 288OPimEvent ODateBookAccessBackend_XML::find( int uid ) const{
289 if ( m_raw.contains( uid ) ) 289 if ( m_raw.contains( uid ) )
290 return m_raw[uid]; 290 return m_raw[uid];
291 else 291 else
292 return m_rep[uid]; 292 return m_rep[uid];
293} 293}
294bool ODateBookAccessBackend_XML::add( const OEvent& ev ) { 294bool ODateBookAccessBackend_XML::add( const OPimEvent& ev ) {
295 m_changed = true; 295 m_changed = true;
296 if (ev.hasRecurrence() ) 296 if (ev.hasRecurrence() )
297 m_rep.insert( ev.uid(), ev ); 297 m_rep.insert( ev.uid(), ev );
@@ -307,7 +307,7 @@ bool ODateBookAccessBackend_XML::remove( int uid ) {
307 307
308 return true; 308 return true;
309} 309}
310bool ODateBookAccessBackend_XML::replace( const OEvent& ev ) { 310bool ODateBookAccessBackend_XML::replace( const OPimEvent& ev ) {
311 replace( ev.uid() ); // ??? Shouldn't this be "remove( ev.uid() ) ??? (eilers) 311 replace( ev.uid() ); // ??? Shouldn't this be "remove( ev.uid() ) ??? (eilers)
312 return add( ev ); 312 return add( ev );
313} 313}
@@ -317,7 +317,7 @@ QArray<int> ODateBookAccessBackend_XML::rawEvents()const {
317QArray<int> ODateBookAccessBackend_XML::rawRepeats()const { 317QArray<int> ODateBookAccessBackend_XML::rawRepeats()const {
318 QArray<int> ints( m_rep.count() ); 318 QArray<int> ints( m_rep.count() );
319 uint i = 0; 319 uint i = 0;
320 QMap<int, OEvent>::ConstIterator it; 320 QMap<int, OPimEvent>::ConstIterator it;
321 321
322 for ( it = m_rep.begin(); it != m_rep.end(); ++it ) { 322 for ( it = m_rep.begin(); it != m_rep.end(); ++it ) {
323 ints[i] = it.key(); 323 ints[i] = it.key();
@@ -329,7 +329,7 @@ QArray<int> ODateBookAccessBackend_XML::rawRepeats()const {
329QArray<int> ODateBookAccessBackend_XML::nonRepeats()const { 329QArray<int> ODateBookAccessBackend_XML::nonRepeats()const {
330 QArray<int> ints( m_raw.count() ); 330 QArray<int> ints( m_raw.count() );
331 uint i = 0; 331 uint i = 0;
332 QMap<int, OEvent>::ConstIterator it; 332 QMap<int, OPimEvent>::ConstIterator it;
333 333
334 for ( it = m_raw.begin(); it != m_raw.end(); ++it ) { 334 for ( it = m_raw.begin(); it != m_raw.end(); ++it ) {
335 ints[i] = it.key(); 335 ints[i] = it.key();
@@ -338,24 +338,24 @@ QArray<int> ODateBookAccessBackend_XML::nonRepeats()const {
338 338
339 return ints; 339 return ints;
340} 340}
341OEvent::ValueList ODateBookAccessBackend_XML::directNonRepeats() { 341OPimEvent::ValueList ODateBookAccessBackend_XML::directNonRepeats() {
342 OEvent::ValueList list; 342 OPimEvent::ValueList list;
343 QMap<int, OEvent>::ConstIterator it; 343 QMap<int, OPimEvent>::ConstIterator it;
344 for (it = m_raw.begin(); it != m_raw.end(); ++it ) 344 for (it = m_raw.begin(); it != m_raw.end(); ++it )
345 list.append( it.data() ); 345 list.append( it.data() );
346 346
347 return list; 347 return list;
348} 348}
349OEvent::ValueList ODateBookAccessBackend_XML::directRawRepeats() { 349OPimEvent::ValueList ODateBookAccessBackend_XML::directRawRepeats() {
350 OEvent::ValueList list; 350 OPimEvent::ValueList list;
351 QMap<int, OEvent>::ConstIterator it; 351 QMap<int, OPimEvent>::ConstIterator it;
352 for (it = m_rep.begin(); it != m_rep.end(); ++it ) 352 for (it = m_rep.begin(); it != m_rep.end(); ++it )
353 list.append( it.data() ); 353 list.append( it.data() );
354 354
355 return list; 355 return list;
356} 356}
357 357
358// FIXME: Use OEvent::fromMap() (eilers) 358// FIXME: Use OPimEvent::fromMap() (eilers)
359bool ODateBookAccessBackend_XML::loadFile() { 359bool ODateBookAccessBackend_XML::loadFile() {
360 m_changed = false; 360 m_changed = false;
361 361
@@ -414,7 +414,7 @@ bool ODateBookAccessBackend_XML::loadFile() {
414 alarmTime = -1; 414 alarmTime = -1;
415 snd = 0; // silent 415 snd = 0; // silent
416 416
417 OEvent ev; 417 OPimEvent ev;
418 rec = 0; 418 rec = 0;
419 419
420 while ( TRUE ) { 420 while ( TRUE ) {
@@ -480,28 +480,28 @@ bool ODateBookAccessBackend_XML::loadFile() {
480 return true; 480 return true;
481} 481}
482 482
483// FIXME: Use OEvent::fromMap() which makes this obsolete.. (eilers) 483// FIXME: Use OPimEvent::fromMap() which makes this obsolete.. (eilers)
484void ODateBookAccessBackend_XML::finalizeRecord( OEvent& ev ) { 484void ODateBookAccessBackend_XML::finalizeRecord( OPimEvent& ev ) {
485 /* AllDay is alway in UTC */ 485 /* AllDay is alway in UTC */
486 if ( ev.isAllDay() ) { 486 if ( ev.isAllDay() ) {
487 OTimeZone utc = OTimeZone::utc(); 487 OPimTimeZone utc = OPimTimeZone::utc();
488 ev.setStartDateTime( utc.fromUTCDateTime( start ) ); 488 ev.setStartDateTime( utc.fromUTCDateTime( start ) );
489 ev.setEndDateTime ( utc.fromUTCDateTime( end ) ); 489 ev.setEndDateTime ( utc.fromUTCDateTime( end ) );
490 ev.setTimeZone( "UTC"); // make sure it is really utc 490 ev.setTimeZone( "UTC"); // make sure it is really utc
491 }else { 491 }else {
492 /* to current date time */ 492 /* to current date time */
493 // qWarning(" Start is %d", start ); 493 // qWarning(" Start is %d", start );
494 OTimeZone zone( ev.timeZone().isEmpty() ? OTimeZone::current() : ev.timeZone() ); 494 OPimTimeZone zone( ev.timeZone().isEmpty() ? OPimTimeZone::current() : ev.timeZone() );
495 QDateTime date = zone.toDateTime( start ); 495 QDateTime date = zone.toDateTime( start );
496 qWarning(" Start is %s", date.toString().latin1() ); 496 qWarning(" Start is %s", date.toString().latin1() );
497 ev.setStartDateTime( zone.toDateTime( date, OTimeZone::current() ) ); 497 ev.setStartDateTime( zone.toDateTime( date, OPimTimeZone::current() ) );
498 498
499 date = zone.toDateTime( end ); 499 date = zone.toDateTime( end );
500 ev.setEndDateTime ( zone.toDateTime( date, OTimeZone::current() ) ); 500 ev.setEndDateTime ( zone.toDateTime( date, OPimTimeZone::current() ) );
501 } 501 }
502 if ( rec && rec->doesRecur() ) { 502 if ( rec && rec->doesRecur() ) {
503 OTimeZone utc = OTimeZone::utc(); 503 OPimTimeZone utc = OPimTimeZone::utc();
504 ORecur recu( *rec ); // call copy c'tor; 504 OPimRecurrence recu( *rec ); // call copy c'tor;
505 recu.setEndDate ( utc.fromUTCDateTime( rp_end ).date() ); 505 recu.setEndDate ( utc.fromUTCDateTime( rp_end ).date() );
506 recu.setCreatedDateTime( utc.fromUTCDateTime( created ) ); 506 recu.setCreatedDateTime( utc.fromUTCDateTime( created ) );
507 recu.setStart( ev.startDateTime().date() ); 507 recu.setStart( ev.startDateTime().date() );
@@ -524,7 +524,7 @@ void ODateBookAccessBackend_XML::finalizeRecord( OEvent& ev ) {
524 m_raw.insert( ev.uid(), ev ); 524 m_raw.insert( ev.uid(), ev );
525 525
526} 526}
527void ODateBookAccessBackend_XML::setField( OEvent& e, int id, const QString& value) { 527void ODateBookAccessBackend_XML::setField( OPimEvent& e, int id, const QString& value) {
528// qWarning(" setting %s", value.latin1() ); 528// qWarning(" setting %s", value.latin1() );
529 switch( id ) { 529 switch( id ) {
530 case FDescription: 530 case FDescription:
@@ -554,17 +554,17 @@ void ODateBookAccessBackend_XML::setField( OEvent& e, int id, const QString& val
554 // recurrence stuff 554 // recurrence stuff
555 case FRType: 555 case FRType:
556 if ( value == "Daily" ) 556 if ( value == "Daily" )
557 recur()->setType( ORecur::Daily ); 557 recur()->setType( OPimRecurrence::Daily );
558 else if ( value == "Weekly" ) 558 else if ( value == "Weekly" )
559 recur()->setType( ORecur::Weekly); 559 recur()->setType( OPimRecurrence::Weekly);
560 else if ( value == "MonthlyDay" ) 560 else if ( value == "MonthlyDay" )
561 recur()->setType( ORecur::MonthlyDay ); 561 recur()->setType( OPimRecurrence::MonthlyDay );
562 else if ( value == "MonthlyDate" ) 562 else if ( value == "MonthlyDate" )
563 recur()->setType( ORecur::MonthlyDate ); 563 recur()->setType( OPimRecurrence::MonthlyDate );
564 else if ( value == "Yearly" ) 564 else if ( value == "Yearly" )
565 recur()->setType( ORecur::Yearly ); 565 recur()->setType( OPimRecurrence::Yearly );
566 else 566 else
567 recur()->setType( ORecur::NoRepeat ); 567 recur()->setType( OPimRecurrence::NoRepeat );
568 break; 568 break;
569 case FRWeekdays: 569 case FRWeekdays:
570 recur()->setDays( value.toInt() ); 570 recur()->setDays( value.toInt() );
@@ -627,7 +627,7 @@ QArray<int> ODateBookAccessBackend_XML::matchRegexp( const QRegExp &r ) const
627{ 627{
628 QArray<int> m_currentQuery( m_raw.count()+ m_rep.count() ); 628 QArray<int> m_currentQuery( m_raw.count()+ m_rep.count() );
629 uint arraycounter = 0; 629 uint arraycounter = 0;
630 QMap<int, OEvent>::ConstIterator it; 630 QMap<int, OPimEvent>::ConstIterator it;
631 631
632 for ( it = m_raw.begin(); it != m_raw.end(); ++it ) 632 for ( it = m_raw.begin(); it != m_raw.end(); ++it )
633 if ( it.data().match( r ) ) 633 if ( it.data().match( r ) )
diff --git a/libopie2/opiepim/backend/odatebookaccessbackend_xml.h b/libopie2/opiepim/backend/odatebookaccessbackend_xml.h
index 29f5f4f..6823ce6 100644
--- a/libopie2/opiepim/backend/odatebookaccessbackend_xml.h
+++ b/libopie2/opiepim/backend/odatebookaccessbackend_xml.h
@@ -52,28 +52,28 @@ public:
52 52
53 QArray<int> allRecords()const; 53 QArray<int> allRecords()const;
54 QArray<int> matchRegexp(const QRegExp &r) const; 54 QArray<int> matchRegexp(const QRegExp &r) const;
55 QArray<int> queryByExample( const OEvent&, int, const QDateTime& d = QDateTime() ); 55 QArray<int> queryByExample( const OPimEvent&, int, const QDateTime& d = QDateTime() );
56 OEvent find( int uid )const; 56 OPimEvent find( int uid )const;
57 void clear(); 57 void clear();
58 bool add( const OEvent& ev ); 58 bool add( const OPimEvent& ev );
59 bool remove( int uid ); 59 bool remove( int uid );
60 bool replace( const OEvent& ev ); 60 bool replace( const OPimEvent& ev );
61 61
62 QArray<UID> rawEvents()const; 62 QArray<UID> rawEvents()const;
63 QArray<UID> rawRepeats()const; 63 QArray<UID> rawRepeats()const;
64 QArray<UID> nonRepeats()const; 64 QArray<UID> nonRepeats()const;
65 65
66 OEvent::ValueList directNonRepeats(); 66 OPimEvent::ValueList directNonRepeats();
67 OEvent::ValueList directRawRepeats(); 67 OPimEvent::ValueList directRawRepeats();
68 68
69private: 69private:
70 bool m_changed :1 ; 70 bool m_changed :1 ;
71 bool loadFile(); 71 bool loadFile();
72 inline void finalizeRecord( OEvent& ev ); 72 inline void finalizeRecord( OPimEvent& ev );
73 inline void setField( OEvent&, int field, const QString& val ); 73 inline void setField( OPimEvent&, int field, const QString& val );
74 QString m_name; 74 QString m_name;
75 QMap<int, OEvent> m_raw; 75 QMap<int, OPimEvent> m_raw;
76 QMap<int, OEvent> m_rep; 76 QMap<int, OPimEvent> m_rep;
77 77
78 struct Data; 78 struct Data;
79 Data* data; 79 Data* data;
diff --git a/libopie2/opiepim/backend/opimaccessbackend.h b/libopie2/opiepim/backend/opimaccessbackend.h
index 505358e..0682063 100644
--- a/libopie2/opiepim/backend/opimaccessbackend.h
+++ b/libopie2/opiepim/backend/opimaccessbackend.h
@@ -32,7 +32,7 @@
32#include <qarray.h> 32#include <qarray.h>
33#include <qdatetime.h> 33#include <qdatetime.h>
34 34
35#include <opie2/otemplatebase.h> 35#include <opie2/opimtemplatebase.h>
36#include <opie2/opimrecord.h> 36#include <opie2/opimrecord.h>
37 37
38 38
diff --git a/libopie2/opiepim/backend/otodoaccessbackend.cpp b/libopie2/opiepim/backend/otodoaccessbackend.cpp
index d27f5ef..790a764 100644
--- a/libopie2/opiepim/backend/otodoaccessbackend.cpp
+++ b/libopie2/opiepim/backend/otodoaccessbackend.cpp
@@ -30,11 +30,11 @@
30#include <opie2/otodoaccessbackend.h> 30#include <opie2/otodoaccessbackend.h>
31 31
32namespace Opie { 32namespace Opie {
33OTodoAccessBackend::OTodoAccessBackend() 33OPimTodoAccessBackend::OPimTodoAccessBackend()
34 : OPimAccessBackend<OTodo>() 34 : OPimAccessBackend<OPimTodo>()
35{ 35{
36} 36}
37OTodoAccessBackend::~OTodoAccessBackend() { 37OPimTodoAccessBackend::~OPimTodoAccessBackend() {
38 38
39} 39}
40 40
diff --git a/libopie2/opiepim/backend/otodoaccessbackend.h b/libopie2/opiepim/backend/otodoaccessbackend.h
index 54b52cc..9dfda45 100644
--- a/libopie2/opiepim/backend/otodoaccessbackend.h
+++ b/libopie2/opiepim/backend/otodoaccessbackend.h
@@ -31,14 +31,14 @@
31 31
32#include <qbitarray.h> 32#include <qbitarray.h>
33 33
34#include <opie2/otodo.h> 34#include <opie2/opimtodo.h>
35#include <opie2/opimaccessbackend.h> 35#include <opie2/opimaccessbackend.h>
36 36
37namespace Opie { 37namespace Opie {
38class OTodoAccessBackend : public OPimAccessBackend<OTodo> { 38class OPimTodoAccessBackend : public OPimAccessBackend<OPimTodo> {
39public: 39public:
40 OTodoAccessBackend(); 40 OPimTodoAccessBackend();
41 ~OTodoAccessBackend(); 41 ~OPimTodoAccessBackend();
42 virtual QArray<int> effectiveToDos( const QDate& start, 42 virtual QArray<int> effectiveToDos( const QDate& start,
43 const QDate& end, 43 const QDate& end,
44 bool includeNoDates ) = 0; 44 bool includeNoDates ) = 0;
diff --git a/libopie2/opiepim/backend/otodoaccesssql.cpp b/libopie2/opiepim/backend/otodoaccesssql.cpp
index 944f82a..72232e5 100644
--- a/libopie2/opiepim/backend/otodoaccesssql.cpp
+++ b/libopie2/opiepim/backend/otodoaccesssql.cpp
@@ -39,7 +39,7 @@
39#include <opie2/otodoaccesssql.h> 39#include <opie2/otodoaccesssql.h>
40#include <opie2/opimstate.h> 40#include <opie2/opimstate.h>
41#include <opie2/opimnotifymanager.h> 41#include <opie2/opimnotifymanager.h>
42#include <opie2/orecur.h> 42#include <opie2/opimrecurrence.h>
43 43
44using namespace Opie; 44using namespace Opie;
45/* 45/*
@@ -73,15 +73,15 @@ namespace {
73 }; 73 };
74 74
75 /** 75 /**
76 * inserts/adds a OTodo to the table 76 * inserts/adds a OPimTodo to the table
77 */ 77 */
78 class InsertQuery : public OSQLQuery { 78 class InsertQuery : public OSQLQuery {
79 public: 79 public:
80 InsertQuery(const OTodo& ); 80 InsertQuery(const OPimTodo& );
81 ~InsertQuery(); 81 ~InsertQuery();
82 QString query()const; 82 QString query()const;
83 private: 83 private:
84 OTodo m_todo; 84 OPimTodo m_todo;
85 }; 85 };
86 86
87 /** 87 /**
@@ -152,7 +152,7 @@ namespace {
152 QString qu; 152 QString qu;
153 qu += "create table todolist( uid PRIMARY KEY, categories, completed, "; 153 qu += "create table todolist( uid PRIMARY KEY, categories, completed, ";
154 qu += "description, summary, priority, DueDate, progress , state, "; 154 qu += "description, summary, priority, DueDate, progress , state, ";
155 // This is the recurrance-stuff .. Exceptions are currently not supported (see ORecur.cpp) ! (eilers) 155 // This is the recurrance-stuff .. Exceptions are currently not supported (see OPimRecurrence.cpp) ! (eilers)
156 qu += "RType, RWeekdays, RPosition, RFreq, RHasEndDate, EndDate, Created, Exceptions, "; 156 qu += "RType, RWeekdays, RPosition, RFreq, RHasEndDate, EndDate, Created, Exceptions, ";
157 qu += "reminders, alarms, maintainer, startdate, completeddate);"; 157 qu += "reminders, alarms, maintainer, startdate, completeddate);";
158 qu += "create table custom_data( uid INTEGER, id INTEGER, type VARCHAR(10), value VARCHAR(10), PRIMARY KEY /* identifier */ (uid, id) );"; 158 qu += "create table custom_data( uid INTEGER, id INTEGER, type VARCHAR(10), value VARCHAR(10), PRIMARY KEY /* identifier */ (uid, id) );";
@@ -170,13 +170,13 @@ namespace {
170 return qu; 170 return qu;
171 } 171 }
172 172
173 InsertQuery::InsertQuery( const OTodo& todo ) 173 InsertQuery::InsertQuery( const OPimTodo& todo )
174 : OSQLQuery(), m_todo( todo ) { 174 : OSQLQuery(), m_todo( todo ) {
175 } 175 }
176 InsertQuery::~InsertQuery() { 176 InsertQuery::~InsertQuery() {
177 } 177 }
178 /* 178 /*
179 * converts from a OTodo to a query 179 * converts from a OPimTodo to a query
180 * we leave out X-Ref + Alarms 180 * we leave out X-Ref + Alarms
181 */ 181 */
182 QString InsertQuery::query()const{ 182 QString InsertQuery::query()const{
@@ -218,14 +218,14 @@ namespace {
218 + "-" + QString::number( day ) + "'" + "," 218 + "-" + QString::number( day ) + "'" + ","
219 + QString::number( m_todo.progress() ) + "," 219 + QString::number( m_todo.progress() ) + ","
220 + QString::number( m_todo.state().state() ) + "," 220 + QString::number( m_todo.state().state() ) + ","
221 + "'" + recMap[ ORecur::RType ] + "'" + "," 221 + "'" + recMap[ OPimRecurrence::RType ] + "'" + ","
222 + "'" + recMap[ ORecur::RWeekdays ] + "'" + "," 222 + "'" + recMap[ OPimRecurrence::RWeekdays ] + "'" + ","
223 + "'" + recMap[ ORecur::RPosition ] + "'" + "," 223 + "'" + recMap[ OPimRecurrence::RPosition ] + "'" + ","
224 + "'" + recMap[ ORecur::RFreq ] + "'" + "," 224 + "'" + recMap[ OPimRecurrence::RFreq ] + "'" + ","
225 + "'" + recMap[ ORecur::RHasEndDate ] + "'" + "," 225 + "'" + recMap[ OPimRecurrence::RHasEndDate ] + "'" + ","
226 + "'" + recMap[ ORecur::EndDate ] + "'" + "," 226 + "'" + recMap[ OPimRecurrence::EndDate ] + "'" + ","
227 + "'" + recMap[ ORecur::Created ] + "'" + "," 227 + "'" + recMap[ OPimRecurrence::Created ] + "'" + ","
228 + "'" + recMap[ ORecur::Exceptions ] + "'" + ","; 228 + "'" + recMap[ OPimRecurrence::Exceptions ] + "'" + ",";
229 229
230 if ( m_todo.hasNotifiers() ) { 230 if ( m_todo.hasNotifiers() ) {
231 OPimNotifyManager manager = m_todo.notifiers(); 231 OPimNotifyManager manager = m_todo.notifiers();
@@ -329,8 +329,8 @@ namespace {
329 329
330 330
331namespace Opie { 331namespace Opie {
332OTodoAccessBackendSQL::OTodoAccessBackendSQL( const QString& file ) 332OPimTodoAccessBackendSQL::OPimTodoAccessBackendSQL( const QString& file )
333 : OTodoAccessBackend(), m_dict(15), m_driver(NULL), m_dirty(true) 333 : OPimTodoAccessBackend(), m_dict(15), m_driver(NULL), m_dirty(true)
334{ 334{
335 QString fi = file; 335 QString fi = file;
336 if ( fi.isEmpty() ) 336 if ( fi.isEmpty() )
@@ -341,12 +341,12 @@ OTodoAccessBackendSQL::OTodoAccessBackendSQL( const QString& file )
341 // fillDict(); 341 // fillDict();
342} 342}
343 343
344OTodoAccessBackendSQL::~OTodoAccessBackendSQL(){ 344OPimTodoAccessBackendSQL::~OPimTodoAccessBackendSQL(){
345 if( m_driver ) 345 if( m_driver )
346 delete m_driver; 346 delete m_driver;
347} 347}
348 348
349bool OTodoAccessBackendSQL::load(){ 349bool OPimTodoAccessBackendSQL::load(){
350 if (!m_driver->open() ) 350 if (!m_driver->open() )
351 return false; 351 return false;
352 352
@@ -356,35 +356,35 @@ bool OTodoAccessBackendSQL::load(){
356 m_dirty = true; 356 m_dirty = true;
357 return true; 357 return true;
358} 358}
359bool OTodoAccessBackendSQL::reload(){ 359bool OPimTodoAccessBackendSQL::reload(){
360 return load(); 360 return load();
361} 361}
362 362
363bool OTodoAccessBackendSQL::save(){ 363bool OPimTodoAccessBackendSQL::save(){
364 return m_driver->close(); // Shouldn't m_driver->sync be better than close ? (eilers) 364 return m_driver->close(); // Shouldn't m_driver->sync be better than close ? (eilers)
365} 365}
366QArray<int> OTodoAccessBackendSQL::allRecords()const { 366QArray<int> OPimTodoAccessBackendSQL::allRecords()const {
367 if (m_dirty ) 367 if (m_dirty )
368 update(); 368 update();
369 369
370 return m_uids; 370 return m_uids;
371} 371}
372QArray<int> OTodoAccessBackendSQL::queryByExample( const OTodo& , int, const QDateTime& ){ 372QArray<int> OPimTodoAccessBackendSQL::queryByExample( const OPimTodo& , int, const QDateTime& ){
373 QArray<int> ints(0); 373 QArray<int> ints(0);
374 return ints; 374 return ints;
375} 375}
376OTodo OTodoAccessBackendSQL::find(int uid ) const{ 376OPimTodo OPimTodoAccessBackendSQL::find(int uid ) const{
377 FindQuery query( uid ); 377 FindQuery query( uid );
378 return todo( m_driver->query(&query) ); 378 return todo( m_driver->query(&query) );
379 379
380} 380}
381OTodo OTodoAccessBackendSQL::find( int uid, const QArray<int>& ints, 381OPimTodo OPimTodoAccessBackendSQL::find( int uid, const QArray<int>& ints,
382 uint cur, Frontend::CacheDirection dir ) const{ 382 uint cur, Frontend::CacheDirection dir ) const{
383 uint CACHE = readAhead(); 383 uint CACHE = readAhead();
384 qWarning("searching for %d", uid ); 384 qWarning("searching for %d", uid );
385 QArray<int> search( CACHE ); 385 QArray<int> search( CACHE );
386 uint size =0; 386 uint size =0;
387 OTodo to; 387 OPimTodo to;
388 388
389 // we try to cache CACHE items 389 // we try to cache CACHE items
390 switch( dir ) { 390 switch( dir ) {
@@ -412,13 +412,13 @@ OTodo OTodoAccessBackendSQL::find( int uid, const QArray<int>& ints,
412 412
413 return todo( res ); 413 return todo( res );
414} 414}
415void OTodoAccessBackendSQL::clear() { 415void OPimTodoAccessBackendSQL::clear() {
416 ClearQuery cle; 416 ClearQuery cle;
417 OSQLResult res = m_driver->query( &cle ); 417 OSQLResult res = m_driver->query( &cle );
418 CreateQuery qu; 418 CreateQuery qu;
419 res = m_driver->query(&qu); 419 res = m_driver->query(&qu);
420} 420}
421bool OTodoAccessBackendSQL::add( const OTodo& t) { 421bool OPimTodoAccessBackendSQL::add( const OPimTodo& t) {
422 InsertQuery ins( t ); 422 InsertQuery ins( t );
423 OSQLResult res = m_driver->query( &ins ); 423 OSQLResult res = m_driver->query( &ins );
424 424
@@ -430,7 +430,7 @@ bool OTodoAccessBackendSQL::add( const OTodo& t) {
430 430
431 return true; 431 return true;
432} 432}
433bool OTodoAccessBackendSQL::remove( int uid ) { 433bool OPimTodoAccessBackendSQL::remove( int uid ) {
434 RemoveQuery rem( uid ); 434 RemoveQuery rem( uid );
435 OSQLResult res = m_driver->query(&rem ); 435 OSQLResult res = m_driver->query(&rem );
436 436
@@ -445,17 +445,17 @@ bool OTodoAccessBackendSQL::remove( int uid ) {
445 * but we need the cache for that 445 * but we need the cache for that
446 * now we remove 446 * now we remove
447 */ 447 */
448bool OTodoAccessBackendSQL::replace( const OTodo& t) { 448bool OPimTodoAccessBackendSQL::replace( const OPimTodo& t) {
449 remove( t.uid() ); 449 remove( t.uid() );
450 bool b= add(t); 450 bool b= add(t);
451 m_dirty = false; // we changed some stuff but the UID stayed the same 451 m_dirty = false; // we changed some stuff but the UID stayed the same
452 return b; 452 return b;
453} 453}
454QArray<int> OTodoAccessBackendSQL::overDue() { 454QArray<int> OPimTodoAccessBackendSQL::overDue() {
455 OverDueQuery qu; 455 OverDueQuery qu;
456 return uids( m_driver->query(&qu ) ); 456 return uids( m_driver->query(&qu ) );
457} 457}
458QArray<int> OTodoAccessBackendSQL::effectiveToDos( const QDate& s, 458QArray<int> OPimTodoAccessBackendSQL::effectiveToDos( const QDate& s,
459 const QDate& t, 459 const QDate& t,
460 bool u) { 460 bool u) {
461 EffQuery ef(s, t, u ); 461 EffQuery ef(s, t, u );
@@ -464,7 +464,7 @@ QArray<int> OTodoAccessBackendSQL::effectiveToDos( const QDate& s,
464/* 464/*
465 * 465 *
466 */ 466 */
467QArray<int> OTodoAccessBackendSQL::sorted( bool asc, int sortOrder, 467QArray<int> OPimTodoAccessBackendSQL::sorted( bool asc, int sortOrder,
468 int sortFilter, int cat ) { 468 int sortFilter, int cat ) {
469 qWarning("sorted %d, %d", asc, sortOrder ); 469 qWarning("sorted %d, %d", asc, sortOrder );
470 QString query; 470 QString query;
@@ -530,7 +530,7 @@ QArray<int> OTodoAccessBackendSQL::sorted( bool asc, int sortOrder,
530 OSQLRawQuery raw(query ); 530 OSQLRawQuery raw(query );
531 return uids( m_driver->query(&raw) ); 531 return uids( m_driver->query(&raw) );
532} 532}
533bool OTodoAccessBackendSQL::date( QDate& da, const QString& str ) const{ 533bool OPimTodoAccessBackendSQL::date( QDate& da, const QString& str ) const{
534 if ( str == "0-0-0" ) 534 if ( str == "0-0-0" )
535 return false; 535 return false;
536 else{ 536 else{
@@ -543,16 +543,16 @@ bool OTodoAccessBackendSQL::date( QDate& da, const QString& str ) const{
543 return true; 543 return true;
544 } 544 }
545} 545}
546OTodo OTodoAccessBackendSQL::todo( const OSQLResult& res) const{ 546OPimTodo OPimTodoAccessBackendSQL::todo( const OSQLResult& res) const{
547 if ( res.state() == OSQLResult::Failure ) { 547 if ( res.state() == OSQLResult::Failure ) {
548 OTodo to; 548 OPimTodo to;
549 return to; 549 return to;
550 } 550 }
551 551
552 OSQLResultItem::ValueList list = res.results(); 552 OSQLResultItem::ValueList list = res.results();
553 OSQLResultItem::ValueList::Iterator it = list.begin(); 553 OSQLResultItem::ValueList::Iterator it = list.begin();
554 qWarning("todo1"); 554 qWarning("todo1");
555 OTodo to = todo( (*it) ); 555 OPimTodo to = todo( (*it) );
556 cache( to ); 556 cache( to );
557 ++it; 557 ++it;
558 558
@@ -562,7 +562,7 @@ OTodo OTodoAccessBackendSQL::todo( const OSQLResult& res) const{
562 } 562 }
563 return to; 563 return to;
564} 564}
565OTodo OTodoAccessBackendSQL::todo( OSQLResultItem& item )const { 565OPimTodo OPimTodoAccessBackendSQL::todo( OSQLResultItem& item )const {
566 qWarning("todo"); 566 qWarning("todo");
567 bool hasDueDate = false; QDate dueDate = QDate::currentDate(); 567 bool hasDueDate = false; QDate dueDate = QDate::currentDate();
568 hasDueDate = date( dueDate, item.data("DueDate") ); 568 hasDueDate = date( dueDate, item.data("DueDate") );
@@ -570,7 +570,7 @@ OTodo OTodoAccessBackendSQL::todo( OSQLResultItem& item )const {
570 570
571 qWarning("Item is completed: %d", item.data("completed").toInt() ); 571 qWarning("Item is completed: %d", item.data("completed").toInt() );
572 572
573 OTodo to( (bool)item.data("completed").toInt(), item.data("priority").toInt(), 573 OPimTodo to( (bool)item.data("completed").toInt(), item.data("priority").toInt(),
574 cats, item.data("summary"), item.data("description"), 574 cats, item.data("summary"), item.data("description"),
575 item.data("progress").toUShort(), hasDueDate, dueDate, 575 item.data("progress").toUShort(), hasDueDate, dueDate,
576 item.data("uid").toInt() ); 576 item.data("uid").toInt() );
@@ -599,65 +599,65 @@ OTodo OTodoAccessBackendSQL::todo( OSQLResultItem& item )const {
599 to.setState( pimState ); 599 to.setState( pimState );
600 600
601 QMap<int, QString> recMap; 601 QMap<int, QString> recMap;
602 recMap.insert( ORecur::RType , item.data("RType") ); 602 recMap.insert( OPimRecurrence::RType , item.data("RType") );
603 recMap.insert( ORecur::RWeekdays , item.data("RWeekdays") ); 603 recMap.insert( OPimRecurrence::RWeekdays , item.data("RWeekdays") );
604 recMap.insert( ORecur::RPosition , item.data("RPosition") ); 604 recMap.insert( OPimRecurrence::RPosition , item.data("RPosition") );
605 recMap.insert( ORecur::RFreq , item.data("RFreq") ); 605 recMap.insert( OPimRecurrence::RFreq , item.data("RFreq") );
606 recMap.insert( ORecur::RHasEndDate, item.data("RHasEndDate") ); 606 recMap.insert( OPimRecurrence::RHasEndDate, item.data("RHasEndDate") );
607 recMap.insert( ORecur::EndDate , item.data("EndDate") ); 607 recMap.insert( OPimRecurrence::EndDate , item.data("EndDate") );
608 recMap.insert( ORecur::Created , item.data("Created") ); 608 recMap.insert( OPimRecurrence::Created , item.data("Created") );
609 recMap.insert( ORecur::Exceptions , item.data("Exceptions") ); 609 recMap.insert( OPimRecurrence::Exceptions , item.data("Exceptions") );
610 610
611 ORecur recur; 611 OPimRecurrence recur;
612 recur.fromMap( recMap ); 612 recur.fromMap( recMap );
613 to.setRecurrence( recur ); 613 to.setRecurrence( recur );
614 614
615 return to; 615 return to;
616} 616}
617OTodo OTodoAccessBackendSQL::todo( int uid )const { 617OPimTodo OPimTodoAccessBackendSQL::todo( int uid )const {
618 FindQuery find( uid ); 618 FindQuery find( uid );
619 return todo( m_driver->query(&find) ); 619 return todo( m_driver->query(&find) );
620} 620}
621/* 621/*
622 * update the dict 622 * update the dict
623 */ 623 */
624void OTodoAccessBackendSQL::fillDict() { 624void OPimTodoAccessBackendSQL::fillDict() {
625 /* initialize dict */ 625 /* initialize dict */
626 /* 626 /*
627 * UPDATE dict if you change anything!!! 627 * UPDATE dict if you change anything!!!
628 * FIXME: Isn't this dict obsolete ? (eilers) 628 * FIXME: Isn't this dict obsolete ? (eilers)
629 */ 629 */
630 m_dict.setAutoDelete( TRUE ); 630 m_dict.setAutoDelete( TRUE );
631 m_dict.insert("Categories" , new int(OTodo::Category) ); 631 m_dict.insert("Categories" , new int(OPimTodo::Category) );
632 m_dict.insert("Uid" , new int(OTodo::Uid) ); 632 m_dict.insert("Uid" , new int(OPimTodo::Uid) );
633 m_dict.insert("HasDate" , new int(OTodo::HasDate) ); 633 m_dict.insert("HasDate" , new int(OPimTodo::HasDate) );
634 m_dict.insert("Completed" , new int(OTodo::Completed) ); 634 m_dict.insert("Completed" , new int(OPimTodo::Completed) );
635 m_dict.insert("Description" , new int(OTodo::Description) ); 635 m_dict.insert("Description" , new int(OPimTodo::Description) );
636 m_dict.insert("Summary" , new int(OTodo::Summary) ); 636 m_dict.insert("Summary" , new int(OPimTodo::Summary) );
637 m_dict.insert("Priority" , new int(OTodo::Priority) ); 637 m_dict.insert("Priority" , new int(OPimTodo::Priority) );
638 m_dict.insert("DateDay" , new int(OTodo::DateDay) ); 638 m_dict.insert("DateDay" , new int(OPimTodo::DateDay) );
639 m_dict.insert("DateMonth" , new int(OTodo::DateMonth) ); 639 m_dict.insert("DateMonth" , new int(OPimTodo::DateMonth) );
640 m_dict.insert("DateYear" , new int(OTodo::DateYear) ); 640 m_dict.insert("DateYear" , new int(OPimTodo::DateYear) );
641 m_dict.insert("Progress" , new int(OTodo::Progress) ); 641 m_dict.insert("Progress" , new int(OPimTodo::Progress) );
642 m_dict.insert("Completed", new int(OTodo::Completed) ); // Why twice ? (eilers) 642 m_dict.insert("Completed", new int(OPimTodo::Completed) ); // Why twice ? (eilers)
643 m_dict.insert("CrossReference", new int(OTodo::CrossReference) ); 643 m_dict.insert("CrossReference", new int(OPimTodo::CrossReference) );
644// m_dict.insert("HasAlarmDateTime",new int(OTodo::HasAlarmDateTime) ); // old stuff (eilers) 644// m_dict.insert("HasAlarmDateTime",new int(OPimTodo::HasAlarmDateTime) ); // old stuff (eilers)
645// m_dict.insert("AlarmDateTime", new int(OTodo::AlarmDateTime) ); // old stuff (eilers) 645// m_dict.insert("AlarmDateTime", new int(OPimTodo::AlarmDateTime) ); // old stuff (eilers)
646} 646}
647/* 647/*
648 * need to be const so let's fool the 648 * need to be const so let's fool the
649 * compiler :( 649 * compiler :(
650 */ 650 */
651void OTodoAccessBackendSQL::update()const { 651void OPimTodoAccessBackendSQL::update()const {
652 ((OTodoAccessBackendSQL*)this)->m_dirty = false; 652 ((OPimTodoAccessBackendSQL*)this)->m_dirty = false;
653 LoadQuery lo; 653 LoadQuery lo;
654 OSQLResult res = m_driver->query(&lo); 654 OSQLResult res = m_driver->query(&lo);
655 if ( res.state() != OSQLResult::Success ) 655 if ( res.state() != OSQLResult::Success )
656 return; 656 return;
657 657
658 ((OTodoAccessBackendSQL*)this)->m_uids = uids( res ); 658 ((OPimTodoAccessBackendSQL*)this)->m_uids = uids( res );
659} 659}
660QArray<int> OTodoAccessBackendSQL::uids( const OSQLResult& res) const{ 660QArray<int> OPimTodoAccessBackendSQL::uids( const OSQLResult& res) const{
661 661
662 OSQLResultItem::ValueList list = res.results(); 662 OSQLResultItem::ValueList list = res.results();
663 OSQLResultItem::ValueList::Iterator it; 663 OSQLResultItem::ValueList::Iterator it;
@@ -672,10 +672,10 @@ QArray<int> OTodoAccessBackendSQL::uids( const OSQLResult& res) const{
672 return ints; 672 return ints;
673} 673}
674 674
675QArray<int> OTodoAccessBackendSQL::matchRegexp( const QRegExp &r ) const 675QArray<int> OPimTodoAccessBackendSQL::matchRegexp( const QRegExp &r ) const
676{ 676{
677 677
678#warning OTodoAccessBackendSQL::matchRegexp() not implemented !! 678#warning OPimTodoAccessBackendSQL::matchRegexp() not implemented !!
679 679
680#if 0 680#if 0
681 681
@@ -686,7 +686,7 @@ QArray<int> OTodoAccessBackendSQL::matchRegexp( const QRegExp &r ) const
686 686
687 687
688 688
689 QMap<int, OTodo>::ConstIterator it; 689 QMap<int, OPimTodo>::ConstIterator it;
690 for (it = m_events.begin(); it != m_events.end(); ++it ) { 690 for (it = m_events.begin(); it != m_events.end(); ++it ) {
691 if ( it.data().match( r ) ) 691 if ( it.data().match( r ) )
692 m_currentQuery[arraycounter++] = it.data().uid(); 692 m_currentQuery[arraycounter++] = it.data().uid();
@@ -700,26 +700,26 @@ QArray<int> OTodoAccessBackendSQL::matchRegexp( const QRegExp &r ) const
700 QArray<int> empty; 700 QArray<int> empty;
701 return empty; 701 return empty;
702} 702}
703QBitArray OTodoAccessBackendSQL::supports()const { 703QBitArray OPimTodoAccessBackendSQL::supports()const {
704 704
705 return sup(); 705 return sup();
706} 706}
707 707
708QBitArray OTodoAccessBackendSQL::sup() const{ 708QBitArray OPimTodoAccessBackendSQL::sup() const{
709 709
710 QBitArray ar( OTodo::CompletedDate + 1 ); 710 QBitArray ar( OPimTodo::CompletedDate + 1 );
711 ar.fill( true ); 711 ar.fill( true );
712 ar[OTodo::CrossReference] = false; 712 ar[OPimTodo::CrossReference] = false;
713 ar[OTodo::State ] = false; 713 ar[OPimTodo::State ] = false;
714 ar[OTodo::Reminders] = false; 714 ar[OPimTodo::Reminders] = false;
715 ar[OTodo::Notifiers] = false; 715 ar[OPimTodo::Notifiers] = false;
716 ar[OTodo::Maintainer] = false; 716 ar[OPimTodo::Maintainer] = false;
717 717
718 return ar; 718 return ar;
719} 719}
720 720
721void OTodoAccessBackendSQL::removeAllCompleted(){ 721void OPimTodoAccessBackendSQL::removeAllCompleted(){
722#warning OTodoAccessBackendSQL::removeAllCompleted() not implemented !! 722#warning OPimTodoAccessBackendSQL::removeAllCompleted() not implemented !!
723 723
724} 724}
725 725
diff --git a/libopie2/opiepim/backend/otodoaccesssql.h b/libopie2/opiepim/backend/otodoaccesssql.h
index 1a6f614..e945863 100644
--- a/libopie2/opiepim/backend/otodoaccesssql.h
+++ b/libopie2/opiepim/backend/otodoaccesssql.h
@@ -39,23 +39,23 @@ class OSQLResultItem;
39 39
40namespace Opie { 40namespace Opie {
41 41
42class OTodoAccessBackendSQL : public OTodoAccessBackend { 42class OPimTodoAccessBackendSQL : public OPimTodoAccessBackend {
43public: 43public:
44 OTodoAccessBackendSQL( const QString& file ); 44 OPimTodoAccessBackendSQL( const QString& file );
45 ~OTodoAccessBackendSQL(); 45 ~OPimTodoAccessBackendSQL();
46 46
47 bool load(); 47 bool load();
48 bool reload(); 48 bool reload();
49 bool save(); 49 bool save();
50 QArray<int> allRecords()const; 50 QArray<int> allRecords()const;
51 51
52 QArray<int> queryByExample( const OTodo& t, int settings, const QDateTime& d = QDateTime() ); 52 QArray<int> queryByExample( const OPimTodo& t, int settings, const QDateTime& d = QDateTime() );
53 OTodo find(int uid)const; 53 OPimTodo find(int uid)const;
54 OTodo find(int uid, const QArray<int>&, uint cur, Frontend::CacheDirection )const; 54 OPimTodo find(int uid, const QArray<int>&, uint cur, Frontend::CacheDirection )const;
55 void clear(); 55 void clear();
56 bool add( const OTodo& t ); 56 bool add( const OPimTodo& t );
57 bool remove( int uid ); 57 bool remove( int uid );
58 bool replace( const OTodo& t ); 58 bool replace( const OPimTodo& t );
59 59
60 QArray<int> overDue(); 60 QArray<int> overDue();
61 QArray<int> effectiveToDos( const QDate& start, 61 QArray<int> effectiveToDos( const QDate& start,
@@ -71,10 +71,10 @@ private:
71 void update()const; 71 void update()const;
72 void fillDict(); 72 void fillDict();
73 inline bool date( QDate& date, const QString& )const; 73 inline bool date( QDate& date, const QString& )const;
74 inline OTodo todo( const OSQLResult& )const; 74 inline OPimTodo todo( const OSQLResult& )const;
75 inline OTodo todo( OSQLResultItem& )const; 75 inline OPimTodo todo( OSQLResultItem& )const;
76 inline QArray<int> uids( const OSQLResult& )const; 76 inline QArray<int> uids( const OSQLResult& )const;
77 OTodo todo( int uid )const; 77 OPimTodo todo( int uid )const;
78 QBitArray sup() const; 78 QBitArray sup() const;
79 79
80 QAsciiDict<int> m_dict; 80 QAsciiDict<int> m_dict;
diff --git a/libopie2/opiepim/backend/otodoaccessvcal.cpp b/libopie2/opiepim/backend/otodoaccessvcal.cpp
index e364ee2..0a1baf9 100644
--- a/libopie2/opiepim/backend/otodoaccessvcal.cpp
+++ b/libopie2/opiepim/backend/otodoaccessvcal.cpp
@@ -37,8 +37,8 @@
37using namespace Opie; 37using namespace Opie;
38 38
39namespace { 39namespace {
40 static OTodo eventByVObj( VObject *obj ){ 40 static OPimTodo eventByVObj( VObject *obj ){
41 OTodo event; 41 OPimTodo event;
42 VObject *ob; 42 VObject *ob;
43 QCString name; 43 QCString name;
44 // no uid, attendees, ... and no fun 44 // no uid, attendees, ... and no fun
@@ -91,7 +91,7 @@ namespace {
91 event.setUid( 1 ); 91 event.setUid( 1 );
92 return event; 92 return event;
93 }; 93 };
94 static VObject *vobjByEvent( const OTodo &event ) { 94 static VObject *vobjByEvent( const OPimTodo &event ) {
95 VObject *task = newVObject( VCTodoProp ); 95 VObject *task = newVObject( VCTodoProp );
96 if( task == 0 ) 96 if( task == 0 )
97 return 0l; 97 return 0l;
@@ -138,13 +138,13 @@ namespace {
138} 138}
139 139
140namespace Opie { 140namespace Opie {
141OTodoAccessVCal::OTodoAccessVCal( const QString& path ) 141OPimTodoAccessVCal::OPimTodoAccessVCal( const QString& path )
142 : m_dirty(false), m_file( path ) 142 : m_dirty(false), m_file( path )
143{ 143{
144} 144}
145OTodoAccessVCal::~OTodoAccessVCal() { 145OPimTodoAccessVCal::~OPimTodoAccessVCal() {
146} 146}
147bool OTodoAccessVCal::load() { 147bool OPimTodoAccessVCal::load() {
148 m_map.clear(); 148 m_map.clear();
149 m_dirty = false; 149 m_dirty = false;
150 150
@@ -163,7 +163,7 @@ bool OTodoAccessVCal::load() {
163 vobj = ::nextVObject( &it ); 163 vobj = ::nextVObject( &it );
164 QCString name = ::vObjectName( vobj ); 164 QCString name = ::vObjectName( vobj );
165 if( name == VCTodoProp ){ 165 if( name == VCTodoProp ){
166 OTodo to = eventByVObj( vobj ); 166 OPimTodo to = eventByVObj( vobj );
167 m_map.insert( to.uid(), to ); 167 m_map.insert( to.uid(), to );
168 } 168 }
169 } 169 }
@@ -172,10 +172,10 @@ bool OTodoAccessVCal::load() {
172 172
173 return true; 173 return true;
174} 174}
175bool OTodoAccessVCal::reload() { 175bool OPimTodoAccessVCal::reload() {
176 return load(); 176 return load();
177} 177}
178bool OTodoAccessVCal::save() { 178bool OPimTodoAccessVCal::save() {
179 if (!m_dirty ) 179 if (!m_dirty )
180 return true; 180 return true;
181 181
@@ -187,7 +187,7 @@ bool OTodoAccessVCal::save() {
187 obj = newVObject( VCCalProp ); 187 obj = newVObject( VCCalProp );
188 addPropValue( obj, VCVersionProp, "1.0" ); 188 addPropValue( obj, VCVersionProp, "1.0" );
189 VObject *vo; 189 VObject *vo;
190 for(QMap<int, OTodo>::ConstIterator it=m_map.begin(); it !=m_map.end(); ++it ){ 190 for(QMap<int, OPimTodo>::ConstIterator it=m_map.begin(); it !=m_map.end(); ++it ){
191 vo = vobjByEvent( it.data() ); 191 vo = vobjByEvent( it.data() );
192 addVObjectProp(obj, vo ); 192 addVObjectProp(obj, vo );
193 } 193 }
@@ -198,41 +198,41 @@ bool OTodoAccessVCal::save() {
198 m_dirty = false; 198 m_dirty = false;
199 return true; 199 return true;
200} 200}
201void OTodoAccessVCal::clear() { 201void OPimTodoAccessVCal::clear() {
202 m_map.clear(); 202 m_map.clear();
203 m_dirty = true; 203 m_dirty = true;
204} 204}
205bool OTodoAccessVCal::add( const OTodo& to ) { 205bool OPimTodoAccessVCal::add( const OPimTodo& to ) {
206 m_map.insert( to.uid(), to ); 206 m_map.insert( to.uid(), to );
207 m_dirty = true; 207 m_dirty = true;
208 return true; 208 return true;
209} 209}
210bool OTodoAccessVCal::remove( int uid ) { 210bool OPimTodoAccessVCal::remove( int uid ) {
211 m_map.remove( uid ); 211 m_map.remove( uid );
212 m_dirty = true; 212 m_dirty = true;
213 return true; 213 return true;
214} 214}
215void OTodoAccessVCal::removeAllCompleted() { 215void OPimTodoAccessVCal::removeAllCompleted() {
216 for ( QMap<int, OTodo>::Iterator it = m_map.begin(); it != m_map.end(); ++it ) { 216 for ( QMap<int, OPimTodo>::Iterator it = m_map.begin(); it != m_map.end(); ++it ) {
217 if ( (*it).isCompleted() ) 217 if ( (*it).isCompleted() )
218 m_map.remove( it ); 218 m_map.remove( it );
219 } 219 }
220} 220}
221bool OTodoAccessVCal::replace( const OTodo& to ) { 221bool OPimTodoAccessVCal::replace( const OPimTodo& to ) {
222 m_map.replace( to.uid(), to ); 222 m_map.replace( to.uid(), to );
223 m_dirty = true; 223 m_dirty = true;
224 return true; 224 return true;
225} 225}
226OTodo OTodoAccessVCal::find(int uid )const { 226OPimTodo OPimTodoAccessVCal::find(int uid )const {
227 return m_map[uid]; 227 return m_map[uid];
228} 228}
229QArray<int> OTodoAccessVCal::sorted( bool, int, int, int ) { 229QArray<int> OPimTodoAccessVCal::sorted( bool, int, int, int ) {
230 QArray<int> ar(0); 230 QArray<int> ar(0);
231 return ar; 231 return ar;
232} 232}
233QArray<int> OTodoAccessVCal::allRecords()const { 233QArray<int> OPimTodoAccessVCal::allRecords()const {
234 QArray<int> ar( m_map.count() ); 234 QArray<int> ar( m_map.count() );
235 QMap<int, OTodo>::ConstIterator it; 235 QMap<int, OPimTodo>::ConstIterator it;
236 int i = 0; 236 int i = 0;
237 for ( it = m_map.begin(); it != m_map.end(); ++it ) { 237 for ( it = m_map.begin(); it != m_map.end(); ++it ) {
238 ar[i] = it.key(); 238 ar[i] = it.key();
@@ -240,41 +240,41 @@ QArray<int> OTodoAccessVCal::allRecords()const {
240 } 240 }
241 return ar; 241 return ar;
242} 242}
243QArray<int> OTodoAccessVCal::matchRegexp(const QRegExp& /* r */)const { 243QArray<int> OPimTodoAccessVCal::matchRegexp(const QRegExp& /* r */)const {
244 QArray<int> ar(0); 244 QArray<int> ar(0);
245 return ar; 245 return ar;
246} 246}
247QArray<int> OTodoAccessVCal::queryByExample( const OTodo&, int, const QDateTime& ) { 247QArray<int> OPimTodoAccessVCal::queryByExample( const OPimTodo&, int, const QDateTime& ) {
248 QArray<int> ar(0); 248 QArray<int> ar(0);
249 return ar; 249 return ar;
250} 250}
251QArray<int> OTodoAccessVCal::effectiveToDos( const QDate& , 251QArray<int> OPimTodoAccessVCal::effectiveToDos( const QDate& ,
252 const QDate& , 252 const QDate& ,
253 bool ) { 253 bool ) {
254 QArray<int> ar(0); 254 QArray<int> ar(0);
255 return ar; 255 return ar;
256} 256}
257QArray<int> OTodoAccessVCal::overDue() { 257QArray<int> OPimTodoAccessVCal::overDue() {
258 QArray<int> ar(0); 258 QArray<int> ar(0);
259 return ar; 259 return ar;
260} 260}
261QBitArray OTodoAccessVCal::supports()const { 261QBitArray OPimTodoAccessVCal::supports()const {
262 static QBitArray ar = sup(); 262 static QBitArray ar = sup();
263 263
264 return ar; 264 return ar;
265} 265}
266QBitArray OTodoAccessVCal::sup() { 266QBitArray OPimTodoAccessVCal::sup() {
267 QBitArray ar ( OTodo::CompletedDate +1 ); 267 QBitArray ar ( OPimTodo::CompletedDate +1 );
268 ar.fill( true ); 268 ar.fill( true );
269 269
270 ar[OTodo::CrossReference] = false; 270 ar[OPimTodo::CrossReference] = false;
271 ar[OTodo::State ] = false; 271 ar[OPimTodo::State ] = false;
272 ar[OTodo::Reminders] = false; 272 ar[OPimTodo::Reminders] = false;
273 ar[OTodo::Notifiers] = false; 273 ar[OPimTodo::Notifiers] = false;
274 ar[OTodo::Maintainer] = false; 274 ar[OPimTodo::Maintainer] = false;
275 ar[OTodo::Progress] = false; 275 ar[OPimTodo::Progress] = false;
276 ar[OTodo::Alarms ] = false; 276 ar[OPimTodo::Alarms ] = false;
277 ar[OTodo::Recurrence] = false; 277 ar[OPimTodo::Recurrence] = false;
278 278
279 return ar; 279 return ar;
280} 280}
diff --git a/libopie2/opiepim/backend/otodoaccessvcal.h b/libopie2/opiepim/backend/otodoaccessvcal.h
index f9323fb..1e106d3 100644
--- a/libopie2/opiepim/backend/otodoaccessvcal.h
+++ b/libopie2/opiepim/backend/otodoaccessvcal.h
@@ -33,10 +33,10 @@
33 33
34namespace Opie { 34namespace Opie {
35 35
36class OTodoAccessVCal : public OTodoAccessBackend { 36class OPimTodoAccessVCal : public OPimTodoAccessBackend {
37public: 37public:
38 OTodoAccessVCal(const QString& ); 38 OPimTodoAccessVCal(const QString& );
39 ~OTodoAccessVCal(); 39 ~OPimTodoAccessVCal();
40 40
41 bool load(); 41 bool load();
42 bool reload(); 42 bool reload();
@@ -44,18 +44,18 @@ public:
44 44
45 QArray<int> allRecords()const; 45 QArray<int> allRecords()const;
46 QArray<int> matchRegexp(const QRegExp &r) const; 46 QArray<int> matchRegexp(const QRegExp &r) const;
47 QArray<int> queryByExample( const OTodo& t, int sort, const QDateTime& d = QDateTime() ); 47 QArray<int> queryByExample( const OPimTodo& t, int sort, const QDateTime& d = QDateTime() );
48 QArray<int> effectiveToDos( const QDate& start, 48 QArray<int> effectiveToDos( const QDate& start,
49 const QDate& end, 49 const QDate& end,
50 bool includeNoDates ); 50 bool includeNoDates );
51 QArray<int> overDue(); 51 QArray<int> overDue();
52 QArray<int> sorted( bool asc, int sortOrder, int sortFilter, 52 QArray<int> sorted( bool asc, int sortOrder, int sortFilter,
53 int cat ); 53 int cat );
54 OTodo find(int uid)const; 54 OPimTodo find(int uid)const;
55 void clear(); 55 void clear();
56 bool add( const OTodo& ); 56 bool add( const OPimTodo& );
57 bool remove( int uid ); 57 bool remove( int uid );
58 bool replace( const OTodo& ); 58 bool replace( const OPimTodo& );
59 59
60 void removeAllCompleted(); 60 void removeAllCompleted();
61 virtual QBitArray supports()const; 61 virtual QBitArray supports()const;
@@ -64,7 +64,7 @@ private:
64 static QBitArray sup(); 64 static QBitArray sup();
65 bool m_dirty : 1; 65 bool m_dirty : 1;
66 QString m_file; 66 QString m_file;
67 QMap<int, OTodo> m_map; 67 QMap<int, OPimTodo> m_map;
68}; 68};
69 69
70} 70}
diff --git a/libopie2/opiepim/backend/otodoaccessxml.cpp b/libopie2/opiepim/backend/otodoaccessxml.cpp
index 2d50ecd..cce6111 100644
--- a/libopie2/opiepim/backend/otodoaccessxml.cpp
+++ b/libopie2/opiepim/backend/otodoaccessxml.cpp
@@ -43,25 +43,25 @@
43#include <qpe/stringutil.h> 43#include <qpe/stringutil.h>
44#include <qpe/timeconversion.h> 44#include <qpe/timeconversion.h>
45 45
46#include <opie2/oconversion.h> 46#include <opie2/opimdateconversion.h>
47#include <opie2/opimstate.h> 47#include <opie2/opimstate.h>
48#include <opie2/otimezone.h> 48#include <opie2/opimtimezone.h>
49#include <opie2/opimnotifymanager.h> 49#include <opie2/opimnotifymanager.h>
50#include <opie2/orecur.h> 50#include <opie2/opimrecurrence.h>
51#include <opie2/otodoaccessxml.h> 51#include <opie2/otodoaccessxml.h>
52 52
53using namespace Opie; 53using namespace Opie;
54 54
55namespace { 55namespace {
56 time_t rp_end; 56 time_t rp_end;
57 ORecur* rec; 57 OPimRecurrence* rec;
58 ORecur *recur() { 58 OPimRecurrence *recur() {
59 if (!rec ) rec = new ORecur; 59 if (!rec ) rec = new OPimRecurrence;
60 return rec; 60 return rec;
61 } 61 }
62 int snd; 62 int snd;
63 enum MoreAttributes { 63 enum MoreAttributes {
64 FRType = OTodo::CompletedDate + 2, 64 FRType = OPimTodo::CompletedDate + 2,
65 FRWeekdays, 65 FRWeekdays,
66 FRPosition, 66 FRPosition,
67 FRFreq, 67 FRFreq,
@@ -98,19 +98,19 @@ char *strstrlen(const char *haystack, int hLen, const char* needle, int nLen)
98 98
99namespace Opie { 99namespace Opie {
100 100
101OTodoAccessXML::OTodoAccessXML( const QString& appName, 101OPimTodoAccessXML::OPimTodoAccessXML( const QString& appName,
102 const QString& fileName ) 102 const QString& fileName )
103 : OTodoAccessBackend(), m_app( appName ), m_opened( false ), m_changed( false ) 103 : OPimTodoAccessBackend(), m_app( appName ), m_opened( false ), m_changed( false )
104{ 104{
105 if (!fileName.isEmpty() ) 105 if (!fileName.isEmpty() )
106 m_file = fileName; 106 m_file = fileName;
107 else 107 else
108 m_file = Global::applicationFileName( "todolist", "todolist.xml" ); 108 m_file = Global::applicationFileName( "todolist", "todolist.xml" );
109} 109}
110OTodoAccessXML::~OTodoAccessXML() { 110OPimTodoAccessXML::~OPimTodoAccessXML() {
111 111
112} 112}
113bool OTodoAccessXML::load() { 113bool OPimTodoAccessXML::load() {
114 rec = 0; 114 rec = 0;
115 m_opened = true; 115 m_opened = true;
116 m_changed = false; 116 m_changed = false;
@@ -120,25 +120,25 @@ bool OTodoAccessXML::load() {
120 */ 120 */
121 QAsciiDict<int> dict(26); 121 QAsciiDict<int> dict(26);
122 dict.setAutoDelete( TRUE ); 122 dict.setAutoDelete( TRUE );
123 dict.insert("Categories" , new int(OTodo::Category) ); 123 dict.insert("Categories" , new int(OPimTodo::Category) );
124 dict.insert("Uid" , new int(OTodo::Uid) ); 124 dict.insert("Uid" , new int(OPimTodo::Uid) );
125 dict.insert("HasDate" , new int(OTodo::HasDate) ); 125 dict.insert("HasDate" , new int(OPimTodo::HasDate) );
126 dict.insert("Completed" , new int(OTodo::Completed) ); 126 dict.insert("Completed" , new int(OPimTodo::Completed) );
127 dict.insert("Description" , new int(OTodo::Description) ); 127 dict.insert("Description" , new int(OPimTodo::Description) );
128 dict.insert("Summary" , new int(OTodo::Summary) ); 128 dict.insert("Summary" , new int(OPimTodo::Summary) );
129 dict.insert("Priority" , new int(OTodo::Priority) ); 129 dict.insert("Priority" , new int(OPimTodo::Priority) );
130 dict.insert("DateDay" , new int(OTodo::DateDay) ); 130 dict.insert("DateDay" , new int(OPimTodo::DateDay) );
131 dict.insert("DateMonth" , new int(OTodo::DateMonth) ); 131 dict.insert("DateMonth" , new int(OPimTodo::DateMonth) );
132 dict.insert("DateYear" , new int(OTodo::DateYear) ); 132 dict.insert("DateYear" , new int(OPimTodo::DateYear) );
133 dict.insert("Progress" , new int(OTodo::Progress) ); 133 dict.insert("Progress" , new int(OPimTodo::Progress) );
134 dict.insert("CompletedDate", new int(OTodo::CompletedDate) ); 134 dict.insert("CompletedDate", new int(OPimTodo::CompletedDate) );
135 dict.insert("StartDate", new int(OTodo::StartDate) ); 135 dict.insert("StartDate", new int(OPimTodo::StartDate) );
136 dict.insert("CrossReference", new int(OTodo::CrossReference) ); 136 dict.insert("CrossReference", new int(OPimTodo::CrossReference) );
137 dict.insert("State", new int(OTodo::State) ); 137 dict.insert("State", new int(OPimTodo::State) );
138 dict.insert("Alarms", new int(OTodo::Alarms) ); 138 dict.insert("Alarms", new int(OPimTodo::Alarms) );
139 dict.insert("Reminders", new int(OTodo::Reminders) ); 139 dict.insert("Reminders", new int(OPimTodo::Reminders) );
140 dict.insert("Notifiers", new int(OTodo::Notifiers) ); 140 dict.insert("Notifiers", new int(OPimTodo::Notifiers) );
141 dict.insert("Maintainer", new int(OTodo::Maintainer) ); 141 dict.insert("Maintainer", new int(OPimTodo::Maintainer) );
142 dict.insert("rtype", new int(FRType) ); 142 dict.insert("rtype", new int(FRType) );
143 dict.insert("rweekdays", new int(FRWeekdays) ); 143 dict.insert("rweekdays", new int(FRWeekdays) );
144 dict.insert("rposition", new int(FRPosition) ); 144 dict.insert("rposition", new int(FRPosition) );
@@ -179,7 +179,7 @@ bool OTodoAccessXML::load() {
179 i+= strLen; 179 i+= strLen;
180 qWarning("Found a start at %d %d", i, (point-dt) ); 180 qWarning("Found a start at %d %d", i, (point-dt) );
181 181
182 OTodo ev; 182 OPimTodo ev;
183 m_year = m_month = m_day = 0; 183 m_year = m_month = m_day = 0;
184 184
185 while ( TRUE ) { 185 while ( TRUE ) {
@@ -242,8 +242,8 @@ bool OTodoAccessXML::load() {
242 ev.setDueDate( QDate(m_year, m_month, m_day) ); 242 ev.setDueDate( QDate(m_year, m_month, m_day) );
243 } 243 }
244 if ( rec && rec->doesRecur() ) { 244 if ( rec && rec->doesRecur() ) {
245 OTimeZone utc = OTimeZone::utc(); 245 OPimTimeZone utc = OPimTimeZone::utc();
246 ORecur recu( *rec ); // call copy c'tor 246 OPimRecurrence recu( *rec ); // call copy c'tor
247 recu.setEndDate( utc.fromUTCDateTime( rp_end ).date() ); 247 recu.setEndDate( utc.fromUTCDateTime( rp_end ).date() );
248 recu.setStart( ev.dueDate() ); 248 recu.setStart( ev.dueDate() );
249 ev.setRecurrence( recu ); 249 ev.setRecurrence( recu );
@@ -259,11 +259,11 @@ bool OTodoAccessXML::load() {
259 qWarning("counts %d records loaded!", m_events.count() ); 259 qWarning("counts %d records loaded!", m_events.count() );
260 return true; 260 return true;
261} 261}
262bool OTodoAccessXML::reload() { 262bool OPimTodoAccessXML::reload() {
263 m_events.clear(); 263 m_events.clear();
264 return load(); 264 return load();
265} 265}
266bool OTodoAccessXML::save() { 266bool OPimTodoAccessXML::save() {
267// qWarning("saving"); 267// qWarning("saving");
268 if (!m_opened || !m_changed ) { 268 if (!m_opened || !m_changed ) {
269// qWarning("not saving"); 269// qWarning("not saving");
@@ -279,7 +279,7 @@ bool OTodoAccessXML::save() {
279 out = "<!DOCTYPE Tasks>\n<Tasks>\n"; 279 out = "<!DOCTYPE Tasks>\n<Tasks>\n";
280 280
281 // for all todos 281 // for all todos
282 QMap<int, OTodo>::Iterator it; 282 QMap<int, OPimTodo>::Iterator it;
283 for (it = m_events.begin(); it != m_events.end(); ++it ) { 283 for (it = m_events.begin(); it != m_events.end(); ++it ) {
284 out+= "<Task " + toString( (*it) ) + " />\n"; 284 out+= "<Task " + toString( (*it) ) + " />\n";
285 QCString cstr = out.utf8(); 285 QCString cstr = out.utf8();
@@ -314,9 +314,9 @@ bool OTodoAccessXML::save() {
314 m_changed = false; 314 m_changed = false;
315 return true; 315 return true;
316} 316}
317QArray<int> OTodoAccessXML::allRecords()const { 317QArray<int> OPimTodoAccessXML::allRecords()const {
318 QArray<int> ids( m_events.count() ); 318 QArray<int> ids( m_events.count() );
319 QMap<int, OTodo>::ConstIterator it; 319 QMap<int, OPimTodo>::ConstIterator it;
320 int i = 0; 320 int i = 0;
321 321
322 for ( it = m_events.begin(); it != m_events.end(); ++it ) { 322 for ( it = m_events.begin(); it != m_events.end(); ++it ) {
@@ -325,49 +325,49 @@ QArray<int> OTodoAccessXML::allRecords()const {
325 } 325 }
326 return ids; 326 return ids;
327} 327}
328QArray<int> OTodoAccessXML::queryByExample( const OTodo&, int, const QDateTime& ) { 328QArray<int> OPimTodoAccessXML::queryByExample( const OPimTodo&, int, const QDateTime& ) {
329 QArray<int> ids(0); 329 QArray<int> ids(0);
330 return ids; 330 return ids;
331} 331}
332OTodo OTodoAccessXML::find( int uid )const { 332OPimTodo OPimTodoAccessXML::find( int uid )const {
333 OTodo todo; 333 OPimTodo todo;
334 todo.setUid( 0 ); // isEmpty() 334 todo.setUid( 0 ); // isEmpty()
335 QMap<int, OTodo>::ConstIterator it = m_events.find( uid ); 335 QMap<int, OPimTodo>::ConstIterator it = m_events.find( uid );
336 if ( it != m_events.end() ) 336 if ( it != m_events.end() )
337 todo = it.data(); 337 todo = it.data();
338 338
339 return todo; 339 return todo;
340} 340}
341void OTodoAccessXML::clear() { 341void OPimTodoAccessXML::clear() {
342 if (m_opened ) 342 if (m_opened )
343 m_changed = true; 343 m_changed = true;
344 344
345 m_events.clear(); 345 m_events.clear();
346} 346}
347bool OTodoAccessXML::add( const OTodo& todo ) { 347bool OPimTodoAccessXML::add( const OPimTodo& todo ) {
348// qWarning("add"); 348// qWarning("add");
349 m_changed = true; 349 m_changed = true;
350 m_events.insert( todo.uid(), todo ); 350 m_events.insert( todo.uid(), todo );
351 351
352 return true; 352 return true;
353} 353}
354bool OTodoAccessXML::remove( int uid ) { 354bool OPimTodoAccessXML::remove( int uid ) {
355 m_changed = true; 355 m_changed = true;
356 m_events.remove( uid ); 356 m_events.remove( uid );
357 357
358 return true; 358 return true;
359} 359}
360bool OTodoAccessXML::replace( const OTodo& todo) { 360bool OPimTodoAccessXML::replace( const OPimTodo& todo) {
361 m_changed = true; 361 m_changed = true;
362 m_events.replace( todo.uid(), todo ); 362 m_events.replace( todo.uid(), todo );
363 363
364 return true; 364 return true;
365} 365}
366QArray<int> OTodoAccessXML::effectiveToDos( const QDate& start, 366QArray<int> OPimTodoAccessXML::effectiveToDos( const QDate& start,
367 const QDate& end, 367 const QDate& end,
368 bool includeNoDates ) { 368 bool includeNoDates ) {
369 QArray<int> ids( m_events.count() ); 369 QArray<int> ids( m_events.count() );
370 QMap<int, OTodo>::Iterator it; 370 QMap<int, OPimTodo>::Iterator it;
371 371
372 int i = 0; 372 int i = 0;
373 for ( it = m_events.begin(); it != m_events.end(); ++it ) { 373 for ( it = m_events.begin(); it != m_events.end(); ++it ) {
@@ -385,11 +385,11 @@ QArray<int> OTodoAccessXML::effectiveToDos( const QDate& start,
385 ids.resize( i ); 385 ids.resize( i );
386 return ids; 386 return ids;
387} 387}
388QArray<int> OTodoAccessXML::overDue() { 388QArray<int> OPimTodoAccessXML::overDue() {
389 QArray<int> ids( m_events.count() ); 389 QArray<int> ids( m_events.count() );
390 int i = 0; 390 int i = 0;
391 391
392 QMap<int, OTodo>::Iterator it; 392 QMap<int, OPimTodo>::Iterator it;
393 for ( it = m_events.begin(); it != m_events.end(); ++it ) { 393 for ( it = m_events.begin(); it != m_events.end(); ++it ) {
394 if ( it.data().isOverdue() ) { 394 if ( it.data().isOverdue() ) {
395 ids[i] = it.key(); 395 ids[i] = it.key();
@@ -402,7 +402,7 @@ QArray<int> OTodoAccessXML::overDue() {
402 402
403 403
404/* private */ 404/* private */
405void OTodoAccessXML::todo( QAsciiDict<int>* dict, OTodo& ev, 405void OPimTodoAccessXML::todo( QAsciiDict<int>* dict, OPimTodo& ev,
406 const QCString& attr, const QString& val) { 406 const QCString& attr, const QString& val) {
407// qWarning("parse to do from XMLElement" ); 407// qWarning("parse to do from XMLElement" );
408 408
@@ -416,61 +416,61 @@ void OTodoAccessXML::todo( QAsciiDict<int>* dict, OTodo& ev,
416 } 416 }
417 417
418 switch( *find ) { 418 switch( *find ) {
419 case OTodo::Uid: 419 case OPimTodo::Uid:
420 ev.setUid( val.toInt() ); 420 ev.setUid( val.toInt() );
421 break; 421 break;
422 case OTodo::Category: 422 case OPimTodo::Category:
423 ev.setCategories( ev.idsFromString( val ) ); 423 ev.setCategories( ev.idsFromString( val ) );
424 break; 424 break;
425 case OTodo::HasDate: 425 case OPimTodo::HasDate:
426 ev.setHasDueDate( val.toInt() ); 426 ev.setHasDueDate( val.toInt() );
427 break; 427 break;
428 case OTodo::Completed: 428 case OPimTodo::Completed:
429 ev.setCompleted( val.toInt() ); 429 ev.setCompleted( val.toInt() );
430 break; 430 break;
431 case OTodo::Description: 431 case OPimTodo::Description:
432 ev.setDescription( val ); 432 ev.setDescription( val );
433 break; 433 break;
434 case OTodo::Summary: 434 case OPimTodo::Summary:
435 ev.setSummary( val ); 435 ev.setSummary( val );
436 break; 436 break;
437 case OTodo::Priority: 437 case OPimTodo::Priority:
438 ev.setPriority( val.toInt() ); 438 ev.setPriority( val.toInt() );
439 break; 439 break;
440 case OTodo::DateDay: 440 case OPimTodo::DateDay:
441 m_day = val.toInt(); 441 m_day = val.toInt();
442 break; 442 break;
443 case OTodo::DateMonth: 443 case OPimTodo::DateMonth:
444 m_month = val.toInt(); 444 m_month = val.toInt();
445 break; 445 break;
446 case OTodo::DateYear: 446 case OPimTodo::DateYear:
447 m_year = val.toInt(); 447 m_year = val.toInt();
448 break; 448 break;
449 case OTodo::Progress: 449 case OPimTodo::Progress:
450 ev.setProgress( val.toInt() ); 450 ev.setProgress( val.toInt() );
451 break; 451 break;
452 case OTodo::CompletedDate: 452 case OPimTodo::CompletedDate:
453 ev.setCompletedDate( OConversion::dateFromString( val ) ); 453 ev.setCompletedDate( OPimDateConversion::dateFromString( val ) );
454 break; 454 break;
455 case OTodo::StartDate: 455 case OPimTodo::StartDate:
456 ev.setStartDate( OConversion::dateFromString( val ) ); 456 ev.setStartDate( OPimDateConversion::dateFromString( val ) );
457 break; 457 break;
458 case OTodo::State: 458 case OPimTodo::State:
459 ev.setState( val.toInt() ); 459 ev.setState( val.toInt() );
460 break; 460 break;
461 case OTodo::Alarms:{ 461 case OPimTodo::Alarms:{
462 OPimNotifyManager &manager = ev.notifiers(); 462 OPimNotifyManager &manager = ev.notifiers();
463 QStringList als = QStringList::split(";", val ); 463 QStringList als = QStringList::split(";", val );
464 for (QStringList::Iterator it = als.begin(); it != als.end(); ++it ) { 464 for (QStringList::Iterator it = als.begin(); it != als.end(); ++it ) {
465 QStringList alarm = QStringList::split(":", (*it), TRUE ); // allow empty 465 QStringList alarm = QStringList::split(":", (*it), TRUE ); // allow empty
466 qWarning("alarm: %s", alarm.join("___").latin1() ); 466 qWarning("alarm: %s", alarm.join("___").latin1() );
467 qWarning("alarm[0]: %s %s", alarm[0].latin1(), OConversion::dateTimeFromString( alarm[0] ).toString().latin1() ); 467 qWarning("alarm[0]: %s %s", alarm[0].latin1(), OPimDateConversion::dateTimeFromString( alarm[0] ).toString().latin1() );
468 OPimAlarm al( alarm[2].toInt(), OConversion::dateTimeFromString( alarm[0] ), alarm[1].toInt() ); 468 OPimAlarm al( alarm[2].toInt(), OPimDateConversion::dateTimeFromString( alarm[0] ), alarm[1].toInt() );
469 manager.add( al ); 469 manager.add( al );
470 } 470 }
471 } 471 }
472 break; 472 break;
473 case OTodo::Reminders:{ 473 case OPimTodo::Reminders:{
474 OPimNotifyManager &manager = ev.notifiers(); 474 OPimNotifyManager &manager = ev.notifiers();
475 QStringList rems = QStringList::split(";", val ); 475 QStringList rems = QStringList::split(";", val );
476 for (QStringList::Iterator it = rems.begin(); it != rems.end(); ++it ) { 476 for (QStringList::Iterator it = rems.begin(); it != rems.end(); ++it ) {
@@ -479,7 +479,7 @@ void OTodoAccessXML::todo( QAsciiDict<int>* dict, OTodo& ev,
479 } 479 }
480 } 480 }
481 break; 481 break;
482 case OTodo::CrossReference: 482 case OPimTodo::CrossReference:
483 { 483 {
484 /* 484 /*
485 * A cross refernce looks like 485 * A cross refernce looks like
@@ -499,17 +499,17 @@ void OTodoAccessXML::todo( QAsciiDict<int>* dict, OTodo& ev,
499 /* Recurrence stuff below + post processing later */ 499 /* Recurrence stuff below + post processing later */
500 case FRType: 500 case FRType:
501 if ( val == "Daily" ) 501 if ( val == "Daily" )
502 recur()->setType( ORecur::Daily ); 502 recur()->setType( OPimRecurrence::Daily );
503 else if ( val == "Weekly" ) 503 else if ( val == "Weekly" )
504 recur()->setType( ORecur::Weekly); 504 recur()->setType( OPimRecurrence::Weekly);
505 else if ( val == "MonthlyDay" ) 505 else if ( val == "MonthlyDay" )
506 recur()->setType( ORecur::MonthlyDay ); 506 recur()->setType( OPimRecurrence::MonthlyDay );
507 else if ( val == "MonthlyDate" ) 507 else if ( val == "MonthlyDate" )
508 recur()->setType( ORecur::MonthlyDate ); 508 recur()->setType( OPimRecurrence::MonthlyDate );
509 else if ( val == "Yearly" ) 509 else if ( val == "Yearly" )
510 recur()->setType( ORecur::Yearly ); 510 recur()->setType( OPimRecurrence::Yearly );
511 else 511 else
512 recur()->setType( ORecur::NoRepeat ); 512 recur()->setType( OPimRecurrence::NoRepeat );
513 break; 513 break;
514 case FRWeekdays: 514 case FRWeekdays:
515 recur()->setDays( val.toInt() ); 515 recur()->setDays( val.toInt() );
@@ -553,7 +553,7 @@ QString customToXml(const QMap<QString, QString>& customMap )
553 553
554} 554}
555 555
556QString OTodoAccessXML::toString( const OTodo& ev )const { 556QString OPimTodoAccessXML::toString( const OPimTodo& ev )const {
557 QString str; 557 QString str;
558 558
559 str += "Completed=\"" + QString::number( ev.isCompleted() ) + "\" "; 559 str += "Completed=\"" + QString::number( ev.isCompleted() ) + "\" ";
@@ -591,9 +591,9 @@ QString OTodoAccessXML::toString( const OTodo& ev )const {
591 str += ev.recurrence().toString(); 591 str += ev.recurrence().toString();
592 } 592 }
593 if ( ev.hasStartDate() ) 593 if ( ev.hasStartDate() )
594 str += "StartDate=\""+ OConversion::dateToString( ev.startDate() ) +"\" "; 594 str += "StartDate=\""+ OPimDateConversion::dateToString( ev.startDate() ) +"\" ";
595 if ( ev.hasCompletedDate() ) 595 if ( ev.hasCompletedDate() )
596 str += "CompletedDate=\""+ OConversion::dateToString( ev.completedDate() ) +"\" "; 596 str += "CompletedDate=\""+ OPimDateConversion::dateToString( ev.completedDate() ) +"\" ";
597 if ( ev.hasState() ) 597 if ( ev.hasState() )
598 str += "State=\""+QString::number( ev.state().state() )+"\" "; 598 str += "State=\""+QString::number( ev.state().state() )+"\" ";
599 599
@@ -610,7 +610,7 @@ QString OTodoAccessXML::toString( const OTodo& ev )const {
610 for ( ; it != alarms.end(); ++it ) { 610 for ( ; it != alarms.end(); ++it ) {
611 /* only if time is valid */ 611 /* only if time is valid */
612 if ( (*it).dateTime().isValid() ) { 612 if ( (*it).dateTime().isValid() ) {
613 als << OConversion::dateTimeToString( (*it).dateTime() ) 613 als << OPimDateConversion::dateTimeToString( (*it).dateTime() )
614 + ":" + QString::number( (*it).duration() ) 614 + ":" + QString::number( (*it).duration() )
615 + ":" + QString::number( (*it).sound() ) 615 + ":" + QString::number( (*it).sound() )
616 + ":"; 616 + ":";
@@ -622,7 +622,7 @@ QString OTodoAccessXML::toString( const OTodo& ev )const {
622 } 622 }
623 623
624 /* 624 /*
625 * now the same for reminders but more easy. We just save the uid of the OEvent. 625 * now the same for reminders but more easy. We just save the uid of the OPimEvent.
626 */ 626 */
627 OPimNotifyManager::Reminders reminders = manager.reminders(); 627 OPimNotifyManager::Reminders reminders = manager.reminders();
628 if (!reminders.isEmpty() ) { 628 if (!reminders.isEmpty() ) {
@@ -639,7 +639,7 @@ QString OTodoAccessXML::toString( const OTodo& ev )const {
639 639
640 return str; 640 return str;
641} 641}
642QString OTodoAccessXML::toString( const QArray<int>& ints ) const { 642QString OPimTodoAccessXML::toString( const QArray<int>& ints ) const {
643 return Qtopia::Record::idsToString( ints ); 643 return Qtopia::Record::idsToString( ints );
644} 644}
645 645
@@ -648,29 +648,29 @@ QString OTodoAccessXML::toString( const QArray<int>& ints ) const {
648 * Inspired by todoxmlio.cpp from TT 648 * Inspired by todoxmlio.cpp from TT
649 */ 649 */
650 650
651struct OTodoXMLContainer { 651struct OPimTodoXMLContainer {
652 OTodo todo; 652 OPimTodo todo;
653}; 653};
654 654
655namespace { 655namespace {
656 inline QString string( const OTodo& todo) { 656 inline QString string( const OPimTodo& todo) {
657 return todo.summary().isEmpty() ? 657 return todo.summary().isEmpty() ?
658 todo.description().left(20 ) : 658 todo.description().left(20 ) :
659 todo.summary(); 659 todo.summary();
660 } 660 }
661 inline int completed( const OTodo& todo1, const OTodo& todo2) { 661 inline int completed( const OPimTodo& todo1, const OPimTodo& todo2) {
662 int ret = 0; 662 int ret = 0;
663 if ( todo1.isCompleted() ) ret++; 663 if ( todo1.isCompleted() ) ret++;
664 if ( todo2.isCompleted() ) ret--; 664 if ( todo2.isCompleted() ) ret--;
665 return ret; 665 return ret;
666 } 666 }
667 inline int priority( const OTodo& t1, const OTodo& t2) { 667 inline int priority( const OPimTodo& t1, const OPimTodo& t2) {
668 return ( t1.priority() - t2.priority() ); 668 return ( t1.priority() - t2.priority() );
669 } 669 }
670 inline int description( const OTodo& t1, const OTodo& t2) { 670 inline int description( const OPimTodo& t1, const OPimTodo& t2) {
671 return QString::compare( string(t1), string(t2) ); 671 return QString::compare( string(t1), string(t2) );
672 } 672 }
673 inline int deadline( const OTodo& t1, const OTodo& t2) { 673 inline int deadline( const OPimTodo& t1, const OPimTodo& t2) {
674 int ret = 0; 674 int ret = 0;
675 if ( t1.hasDueDate() && 675 if ( t1.hasDueDate() &&
676 t2.hasDueDate() ) 676 t2.hasDueDate() )
@@ -703,17 +703,17 @@ namespace {
703 * < 0 (negative integer) if item1 < item2 703 * < 0 (negative integer) if item1 < item2
704 * 704 *
705 */ 705 */
706class OTodoXMLVector : public QVector<OTodoXMLContainer> { 706class OPimTodoXMLVector : public QVector<OPimTodoXMLContainer> {
707public: 707public:
708 OTodoXMLVector(int size, bool asc, int sort) 708 OPimTodoXMLVector(int size, bool asc, int sort)
709 : QVector<OTodoXMLContainer>( size ) 709 : QVector<OPimTodoXMLContainer>( size )
710 { 710 {
711 setAutoDelete( true ); 711 setAutoDelete( true );
712 m_asc = asc; 712 m_asc = asc;
713 m_sort = sort; 713 m_sort = sort;
714 } 714 }
715 /* return the summary/description */ 715 /* return the summary/description */
716 QString string( const OTodo& todo) { 716 QString string( const OPimTodo& todo) {
717 return todo.summary().isEmpty() ? 717 return todo.summary().isEmpty() ?
718 todo.description().left(20 ) : 718 todo.description().left(20 ) :
719 todo.summary(); 719 todo.summary();
@@ -726,8 +726,8 @@ public:
726 bool seComp, sePrio, seDesc, seDeadline; 726 bool seComp, sePrio, seDesc, seDeadline;
727 seComp = sePrio = seDeadline = seDesc = false; 727 seComp = sePrio = seDeadline = seDesc = false;
728 int ret =0; 728 int ret =0;
729 OTodoXMLContainer* con1 = (OTodoXMLContainer*)d1; 729 OPimTodoXMLContainer* con1 = (OPimTodoXMLContainer*)d1;
730 OTodoXMLContainer* con2 = (OTodoXMLContainer*)d2; 730 OPimTodoXMLContainer* con2 = (OPimTodoXMLContainer*)d2;
731 731
732 /* same item */ 732 /* same item */
733 if ( con1->todo.uid() == con2->todo.uid() ) 733 if ( con1->todo.uid() == con2->todo.uid() )
@@ -816,10 +816,10 @@ public:
816 816
817}; 817};
818 818
819QArray<int> OTodoAccessXML::sorted( bool asc, int sortOrder, 819QArray<int> OPimTodoAccessXML::sorted( bool asc, int sortOrder,
820 int sortFilter, int cat ) { 820 int sortFilter, int cat ) {
821 OTodoXMLVector vector(m_events.count(), asc,sortOrder ); 821 OPimTodoXMLVector vector(m_events.count(), asc,sortOrder );
822 QMap<int, OTodo>::Iterator it; 822 QMap<int, OPimTodo>::Iterator it;
823 int item = 0; 823 int item = 0;
824 824
825 bool bCat = sortFilter & 1 ? true : false; 825 bool bCat = sortFilter & 1 ? true : false;
@@ -851,7 +851,7 @@ QArray<int> OTodoAccessXML::sorted( bool asc, int sortOrder,
851 } 851 }
852 852
853 853
854 OTodoXMLContainer* con = new OTodoXMLContainer(); 854 OPimTodoXMLContainer* con = new OPimTodoXMLContainer();
855 con->todo = (*it); 855 con->todo = (*it);
856 vector.insert(item, con ); 856 vector.insert(item, con );
857 item++; 857 item++;
@@ -866,35 +866,35 @@ QArray<int> OTodoAccessXML::sorted( bool asc, int sortOrder,
866 } 866 }
867 return array; 867 return array;
868}; 868};
869void OTodoAccessXML::removeAllCompleted() { 869void OPimTodoAccessXML::removeAllCompleted() {
870 QMap<int, OTodo> events = m_events; 870 QMap<int, OPimTodo> events = m_events;
871 for ( QMap<int, OTodo>::Iterator it = m_events.begin(); it != m_events.end(); ++it ) { 871 for ( QMap<int, OPimTodo>::Iterator it = m_events.begin(); it != m_events.end(); ++it ) {
872 if ( (*it).isCompleted() ) 872 if ( (*it).isCompleted() )
873 events.remove( it.key() ); 873 events.remove( it.key() );
874 } 874 }
875 m_events = events; 875 m_events = events;
876} 876}
877QBitArray OTodoAccessXML::supports()const { 877QBitArray OPimTodoAccessXML::supports()const {
878 static QBitArray ar = sup(); 878 static QBitArray ar = sup();
879 return ar; 879 return ar;
880} 880}
881QBitArray OTodoAccessXML::sup() { 881QBitArray OPimTodoAccessXML::sup() {
882 QBitArray ar( OTodo::CompletedDate +1 ); 882 QBitArray ar( OPimTodo::CompletedDate +1 );
883 ar.fill( true ); 883 ar.fill( true );
884 ar[OTodo::CrossReference] = false; 884 ar[OPimTodo::CrossReference] = false;
885 ar[OTodo::State ] = false; 885 ar[OPimTodo::State ] = false;
886 ar[OTodo::Reminders] = false; 886 ar[OPimTodo::Reminders] = false;
887 ar[OTodo::Notifiers] = false; 887 ar[OPimTodo::Notifiers] = false;
888 ar[OTodo::Maintainer] = false; 888 ar[OPimTodo::Maintainer] = false;
889 889
890 return ar; 890 return ar;
891} 891}
892QArray<int> OTodoAccessXML::matchRegexp( const QRegExp &r ) const 892QArray<int> OPimTodoAccessXML::matchRegexp( const QRegExp &r ) const
893{ 893{
894 QArray<int> m_currentQuery( m_events.count() ); 894 QArray<int> m_currentQuery( m_events.count() );
895 uint arraycounter = 0; 895 uint arraycounter = 0;
896 896
897 QMap<int, OTodo>::ConstIterator it; 897 QMap<int, OPimTodo>::ConstIterator it;
898 for (it = m_events.begin(); it != m_events.end(); ++it ) { 898 for (it = m_events.begin(); it != m_events.end(); ++it ) {
899 if ( it.data().match( r ) ) 899 if ( it.data().match( r ) )
900 m_currentQuery[arraycounter++] = it.data().uid(); 900 m_currentQuery[arraycounter++] = it.data().uid();
diff --git a/libopie2/opiepim/backend/otodoaccessxml.h b/libopie2/opiepim/backend/otodoaccessxml.h
index d634398..3a51543 100644
--- a/libopie2/opiepim/backend/otodoaccessxml.h
+++ b/libopie2/opiepim/backend/otodoaccessxml.h
@@ -37,14 +37,14 @@
37namespace Opie { 37namespace Opie {
38 class XMLElement; 38 class XMLElement;
39 39
40class OTodoAccessXML : public OTodoAccessBackend { 40class OPimTodoAccessXML : public OPimTodoAccessBackend {
41public: 41public:
42 /** 42 /**
43 * fileName if Empty we will use the default path 43 * fileName if Empty we will use the default path
44 */ 44 */
45 OTodoAccessXML( const QString& appName, 45 OPimTodoAccessXML( const QString& appName,
46 const QString& fileName = QString::null ); 46 const QString& fileName = QString::null );
47 ~OTodoAccessXML(); 47 ~OPimTodoAccessXML();
48 48
49 bool load(); 49 bool load();
50 bool reload(); 50 bool reload();
@@ -52,13 +52,13 @@ public:
52 52
53 QArray<int> allRecords()const; 53 QArray<int> allRecords()const;
54 QArray<int> matchRegexp(const QRegExp &r) const; 54 QArray<int> matchRegexp(const QRegExp &r) const;
55 QArray<int> queryByExample( const OTodo&, int querysettings, const QDateTime& d = QDateTime() ); 55 QArray<int> queryByExample( const OPimTodo&, int querysettings, const QDateTime& d = QDateTime() );
56 OTodo find( int uid )const; 56 OPimTodo find( int uid )const;
57 void clear(); 57 void clear();
58 bool add( const OTodo& ); 58 bool add( const OPimTodo& );
59 bool remove( int uid ); 59 bool remove( int uid );
60 void removeAllCompleted(); 60 void removeAllCompleted();
61 bool replace( const OTodo& ); 61 bool replace( const OPimTodo& );
62 62
63 /* our functions */ 63 /* our functions */
64 QArray<int> effectiveToDos( const QDate& start, 64 QArray<int> effectiveToDos( const QDate& start,
@@ -70,16 +70,16 @@ public:
70 QBitArray supports()const; 70 QBitArray supports()const;
71private: 71private:
72 static QBitArray sup(); 72 static QBitArray sup();
73 void todo( QAsciiDict<int>*, OTodo&,const QCString&,const QString& ); 73 void todo( QAsciiDict<int>*, OPimTodo&,const QCString&,const QString& );
74 QString toString( const OTodo& )const; 74 QString toString( const OPimTodo& )const;
75 QString toString( const QArray<int>& ints ) const; 75 QString toString( const QArray<int>& ints ) const;
76 QMap<int, OTodo> m_events; 76 QMap<int, OPimTodo> m_events;
77 QString m_file; 77 QString m_file;
78 QString m_app; 78 QString m_app;
79 bool m_opened : 1; 79 bool m_opened : 1;
80 bool m_changed : 1; 80 bool m_changed : 1;
81 class OTodoAccessXMLPrivate; 81 class OPimTodoAccessXMLPrivate;
82 OTodoAccessXMLPrivate* d; 82 OPimTodoAccessXMLPrivate* d;
83 int m_year, m_month, m_day; 83 int m_year, m_month, m_day;
84 84
85}; 85};