author | zecke <zecke> | 2003-05-07 15:26:59 (UTC) |
---|---|---|
committer | zecke <zecke> | 2003-05-07 15:26:59 (UTC) |
commit | e150dfd5151aa59eb373aa58df5d9644c6c65b52 (patch) (unidiff) | |
tree | 4cbc036ef9bfc51d9938d6ff6a433081c0b400b8 /libopie2/opiepim | |
parent | 1a550df3248342a8c863951ba733b862ca222216 (diff) | |
download | opie-e150dfd5151aa59eb373aa58df5d9644c6c65b52.zip opie-e150dfd5151aa59eb373aa58df5d9644c6c65b52.tar.gz opie-e150dfd5151aa59eb373aa58df5d9644c6c65b52.tar.bz2 |
Make it possible to see what a backend supports
-rw-r--r-- | libopie2/opiepim/backend/otodoaccessbackend.h | 3 | ||||
-rw-r--r-- | libopie2/opiepim/backend/otodoaccessvcal.cpp | 20 | ||||
-rw-r--r-- | libopie2/opiepim/backend/otodoaccessvcal.h | 2 | ||||
-rw-r--r-- | libopie2/opiepim/backend/otodoaccessxml.cpp | 16 | ||||
-rw-r--r-- | libopie2/opiepim/backend/otodoaccessxml.h | 2 | ||||
-rw-r--r-- | libopie2/opiepim/core/otodoaccess.cpp | 6 | ||||
-rw-r--r-- | libopie2/opiepim/core/otodoaccess.h | 15 |
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 | ||
7 | class OTodoAccessBackend : public OPimAccessBackend<OTodo> { | 9 | class OTodoAccessBackend : public OPimAccessBackend<OTodo> { |
8 | public: | 10 | public: |
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 | } |
198 | QArray<int> OTodoAccessVCal::overDue() { | 198 | QArray<int> OTodoAccessVCal::overDue() { |
199 | QArray<int> ar(0); | 199 | QArray<int> ar(0); |
200 | return ar; | 200 | return ar; |
201 | } | 201 | } |
202 | QBitArray OTodoAccessVCal::supports()const { | ||
203 | static QBitArray ar = sup(); | ||
204 | |||
205 | return ar; | ||
206 | } | ||
207 | QBitArray 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 | ||
31 | private: | 32 | private: |
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 | }; |
670 | void OTodoAccessXML::removeAllCompleted() { | 669 | void 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 | } |
675 | QBitArray OTodoAccessXML::supports()const { | ||
676 | static QBitArray ar = sup(); | ||
677 | return ar; | ||
678 | } | ||
679 | QBitArray 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; | ||
42 | private: | 43 | private: |
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 | } |
54 | void OTodoAccess::removeAllCompleted() { | 54 | void OTodoAccess::removeAllCompleted() { |
55 | m_todoBackEnd->removeAllCompleted(); | 55 | m_todoBackEnd->removeAllCompleted(); |
56 | } | 56 | } |
57 | QBitArray OTodoAccess::backendSupport( const QString& ) const{ | ||
58 | return m_todoBackEnd->supports(); | ||
59 | } | ||
60 | bool 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; | ||
75 | signals: | 90 | signals: |
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 ); |