summaryrefslogtreecommitdiff
path: root/libopie2
Unidiff
Diffstat (limited to 'libopie2') (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opiepim/backend/otodoaccessbackend.h3
-rw-r--r--libopie2/opiepim/backend/otodoaccessvcal.cpp20
-rw-r--r--libopie2/opiepim/backend/otodoaccessvcal.h2
-rw-r--r--libopie2/opiepim/backend/otodoaccessxml.cpp16
-rw-r--r--libopie2/opiepim/backend/otodoaccessxml.h2
-rw-r--r--libopie2/opiepim/core/otodoaccess.cpp6
-rw-r--r--libopie2/opiepim/core/otodoaccess.h15
7 files changed, 63 insertions, 1 deletions
diff --git a/libopie2/opiepim/backend/otodoaccessbackend.h b/libopie2/opiepim/backend/otodoaccessbackend.h
index 7944a2c..05e8ca9 100644
--- a/libopie2/opiepim/backend/otodoaccessbackend.h
+++ b/libopie2/opiepim/backend/otodoaccessbackend.h
@@ -1,9 +1,11 @@
1#ifndef OPIE_TODO_ACCESS_BACKEND_H 1#ifndef OPIE_TODO_ACCESS_BACKEND_H
2#define OPIE_TODO_ACCESS_BACKEND_H 2#define OPIE_TODO_ACCESS_BACKEND_H
3 3
4#include <qbitarray.h>
5
4#include "otodo.h" 6#include "otodo.h"
5#include "opimaccessbackend.h" 7#include "opimaccessbackend.h"
6 8
7class OTodoAccessBackend : public OPimAccessBackend<OTodo> { 9class OTodoAccessBackend : public OPimAccessBackend<OTodo> {
8public: 10public:
9 OTodoAccessBackend(); 11 OTodoAccessBackend();
@@ -12,10 +14,11 @@ public:
12 const QDate& end, 14 const QDate& end,
13 bool includeNoDates ) = 0; 15 bool includeNoDates ) = 0;
14 virtual QArray<int> overDue() = 0; 16 virtual QArray<int> overDue() = 0;
15 virtual QArray<int> sorted( bool asc, int sortOrder, int sortFilter, 17 virtual QArray<int> sorted( bool asc, int sortOrder, int sortFilter,
16 int cat ) = 0; 18 int cat ) = 0;
17 virtual void removeAllCompleted() = 0; 19 virtual void removeAllCompleted() = 0;
20 virtual QBitArray supports()const = 0;
18 21
19}; 22};
20 23
21#endif 24#endif
diff --git a/libopie2/opiepim/backend/otodoaccessvcal.cpp b/libopie2/opiepim/backend/otodoaccessvcal.cpp
index 2136283..9bc16c6 100644
--- a/libopie2/opiepim/backend/otodoaccessvcal.cpp
+++ b/libopie2/opiepim/backend/otodoaccessvcal.cpp
@@ -196,6 +196,26 @@ QArray<int> OTodoAccessVCal::effectiveToDos( const QDate& ,
196 return ar; 196 return ar;
197} 197}
198QArray<int> OTodoAccessVCal::overDue() { 198QArray<int> OTodoAccessVCal::overDue() {
199 QArray<int> ar(0); 199 QArray<int> ar(0);
200 return ar; 200 return ar;
201} 201}
202QBitArray OTodoAccessVCal::supports()const {
203 static QBitArray ar = sup();
204
205 return ar;
206}
207QBitArray OTodoAccessVCal::sup() {
208 QBitArray ar ( OTodo::CompletedDate +1 );
209 ar.fill( true );
210
211 ar[OTodo::CrossReference] = false;
212 ar[OTodo::State ] = false;
213 ar[OTodo::Reminders] = false;
214 ar[OTodo::Notifiers] = false;
215 ar[OTodo::Maintainer] = false;
216 ar[OTodo::Progress] = false;
217 ar[OTodo::Alarms ] = false;
218 ar[OTodo::Recurrence] = false;
219
220 return ar;
221}
diff --git a/libopie2/opiepim/backend/otodoaccessvcal.h b/libopie2/opiepim/backend/otodoaccessvcal.h
index a90ee9c..489416b 100644
--- a/libopie2/opiepim/backend/otodoaccessvcal.h
+++ b/libopie2/opiepim/backend/otodoaccessvcal.h
@@ -24,14 +24,16 @@ public:
24 void clear(); 24 void clear();
25 bool add( const OTodo& ); 25 bool add( const OTodo& );
26 bool remove( int uid ); 26 bool remove( int uid );
27 bool replace( const OTodo& ); 27 bool replace( const OTodo& );
28 28
29 void removeAllCompleted(); 29 void removeAllCompleted();
30 virtual QBitArray supports()const;
30 31
31private: 32private:
33 static QBitArray sup();
32 bool m_dirty : 1; 34 bool m_dirty : 1;
33 QString m_file; 35 QString m_file;
34 QMap<int, OTodo> m_map; 36 QMap<int, OTodo> m_map;
35}; 37};
36 38
37#endif 39#endif
diff --git a/libopie2/opiepim/backend/otodoaccessxml.cpp b/libopie2/opiepim/backend/otodoaccessxml.cpp
index 71e8787..55f268b 100644
--- a/libopie2/opiepim/backend/otodoaccessxml.cpp
+++ b/libopie2/opiepim/backend/otodoaccessxml.cpp
@@ -661,15 +661,29 @@ QArray<int> OTodoAccessXML::sorted( bool asc, int sortOrder,
661 vector.sort(); 661 vector.sort();
662 /* now get the uids */ 662 /* now get the uids */
663 QArray<int> array( vector.count() ); 663 QArray<int> array( vector.count() );
664 for (uint i= 0; i < vector.count(); i++ ) { 664 for (uint i= 0; i < vector.count(); i++ ) {
665 array[i] = ( vector.at(i) )->todo.uid(); 665 array[i] = ( vector.at(i) )->todo.uid();
666 } 666 }
667 qWarning("array count = %d %d", array.count(), vector.count() );
668 return array; 667 return array;
669}; 668};
670void OTodoAccessXML::removeAllCompleted() { 669void OTodoAccessXML::removeAllCompleted() {
671 for ( QMap<int, OTodo>::Iterator it = m_events.begin(); it != m_events.end(); ++it ) { 670 for ( QMap<int, OTodo>::Iterator it = m_events.begin(); it != m_events.end(); ++it ) {
672 if ( (*it).isCompleted() ) 671 if ( (*it).isCompleted() )
673 m_events.remove( it ); 672 m_events.remove( it );
674 } 673 }
675} 674}
675QBitArray OTodoAccessXML::supports()const {
676 static QBitArray ar = sup();
677 return ar;
678}
679QBitArray OTodoAccessXML::sup() {
680 QBitArray ar( OTodo::CompletedDate +1 );
681 ar.fill( true );
682 ar[OTodo::CrossReference] = false;
683 ar[OTodo::State ] = false;
684 ar[OTodo::Reminders] = false;
685 ar[OTodo::Notifiers] = false;
686 ar[OTodo::Maintainer] = false;
687
688 return ar;
689}
diff --git a/libopie2/opiepim/backend/otodoaccessxml.h b/libopie2/opiepim/backend/otodoaccessxml.h
index 1032c92..cc4a16f 100644
--- a/libopie2/opiepim/backend/otodoaccessxml.h
+++ b/libopie2/opiepim/backend/otodoaccessxml.h
@@ -36,13 +36,15 @@ public:
36 QArray<int> effectiveToDos( const QDate& start, 36 QArray<int> effectiveToDos( const QDate& start,
37 const QDate& end, 37 const QDate& end,
38 bool includeNoDates ); 38 bool includeNoDates );
39 QArray<int> overDue(); 39 QArray<int> overDue();
40 QArray<int> sorted( bool asc, int sortOrder, 40 QArray<int> sorted( bool asc, int sortOrder,
41 int sortFilter, int cat ); 41 int sortFilter, int cat );
42 QBitArray supports()const;
42private: 43private:
44 static QBitArray sup();
43 void todo( QAsciiDict<int>*, OTodo&,const QCString&,const QString& ); 45 void todo( QAsciiDict<int>*, OTodo&,const QCString&,const QString& );
44 QString toString( const OTodo& )const; 46 QString toString( const OTodo& )const;
45 QString toString( const QArray<int>& ints ) const; 47 QString toString( const QArray<int>& ints ) const;
46 QMap<int, OTodo> m_events; 48 QMap<int, OTodo> m_events;
47 QString m_file; 49 QString m_file;
48 QString m_app; 50 QString m_app;
diff --git a/libopie2/opiepim/core/otodoaccess.cpp b/libopie2/opiepim/core/otodoaccess.cpp
index 5e89a1b..37f6fbc 100644
--- a/libopie2/opiepim/core/otodoaccess.cpp
+++ b/libopie2/opiepim/core/otodoaccess.cpp
@@ -51,6 +51,12 @@ OTodoAccess::List OTodoAccess::sorted( bool ascending, int sort,int filter, int
51 OTodoAccess::List list( ints, this ); 51 OTodoAccess::List list( ints, this );
52 return list; 52 return list;
53} 53}
54void OTodoAccess::removeAllCompleted() { 54void OTodoAccess::removeAllCompleted() {
55 m_todoBackEnd->removeAllCompleted(); 55 m_todoBackEnd->removeAllCompleted();
56} 56}
57QBitArray OTodoAccess::backendSupport( const QString& ) const{
58 return m_todoBackEnd->supports();
59}
60bool OTodoAccess::backendSupports( int attr, const QString& ar) const{
61 return backendSupport(ar).testBit( attr );
62}
diff --git a/libopie2/opiepim/core/otodoaccess.h b/libopie2/opiepim/core/otodoaccess.h
index a626731..916923f 100644
--- a/libopie2/opiepim/core/otodoaccess.h
+++ b/libopie2/opiepim/core/otodoaccess.h
@@ -69,12 +69,27 @@ public:
69 69
70 /** 70 /**
71 * delete all already completed items 71 * delete all already completed items
72 */ 72 */
73 void removeAllCompleted(); 73 void removeAllCompleted();
74 74
75 /**
76 * request information about what a backend supports.
77 * Supports in the sense of beeing able to store.
78 * This is related to the enum in OTodo
79 *
80 * @param backend Will be used in the future when we support multiple backend
81 */
82 QBitArray backendSupport( const QString& backend = QString::null )const;
83
84 /**
85 * see above but for a specefic attribute. This method was added for convience
86 * @param attr The attribute to be queried for
87 * @param backend Will be used in the future when we support multiple backends
88 */
89 bool backendSupports( int attr, const QString& backend = QString::null )const;
75signals: 90signals:
76 /** 91 /**
77 * if the OTodoAccess was changed 92 * if the OTodoAccess was changed
78 */ 93 */
79 void changed( const OTodoAccess* ); 94 void changed( const OTodoAccess* );
80 void changed( const OTodoAccess*, int uid ); 95 void changed( const OTodoAccess*, int uid );