summaryrefslogtreecommitdiff
path: root/libopie2/opiepim/backend/otodoaccesssql.cpp
Unidiff
Diffstat (limited to 'libopie2/opiepim/backend/otodoaccesssql.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/backend/otodoaccesssql.cpp164
1 files changed, 82 insertions, 82 deletions
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