-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 @@ -2,4 +2,6 @@ #define OPIE_TODO_ACCESS_BACKEND_H +#include <qbitarray.h> + #include "otodo.h" #include "opimaccessbackend.h" @@ -16,4 +18,5 @@ public: int cat ) = 0; virtual void removeAllCompleted() = 0; + virtual QBitArray supports()const = 0; }; 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 @@ -200,2 +200,22 @@ QArray<int> OTodoAccessVCal::overDue() { return ar; } +QBitArray OTodoAccessVCal::supports()const { + static QBitArray ar = sup(); + + return ar; +} +QBitArray OTodoAccessVCal::sup() { + QBitArray ar ( OTodo::CompletedDate +1 ); + ar.fill( true ); + + ar[OTodo::CrossReference] = false; + ar[OTodo::State ] = false; + ar[OTodo::Reminders] = false; + ar[OTodo::Notifiers] = false; + ar[OTodo::Maintainer] = false; + ar[OTodo::Progress] = false; + ar[OTodo::Alarms ] = false; + ar[OTodo::Recurrence] = false; + + return ar; +} 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 @@ -28,6 +28,8 @@ public: void removeAllCompleted(); + virtual QBitArray supports()const; private: + static QBitArray sup(); bool m_dirty : 1; QString m_file; 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 @@ -665,5 +665,4 @@ QArray<int> OTodoAccessXML::sorted( bool asc, int sortOrder, array[i] = ( vector.at(i) )->todo.uid(); } - qWarning("array count = %d %d", array.count(), vector.count() ); return array; }; @@ -674,2 +673,17 @@ void OTodoAccessXML::removeAllCompleted() { } } +QBitArray OTodoAccessXML::supports()const { + static QBitArray ar = sup(); + return ar; +} +QBitArray OTodoAccessXML::sup() { + QBitArray ar( OTodo::CompletedDate +1 ); + ar.fill( true ); + ar[OTodo::CrossReference] = false; + ar[OTodo::State ] = false; + ar[OTodo::Reminders] = false; + ar[OTodo::Notifiers] = false; + ar[OTodo::Maintainer] = false; + + return ar; +} 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 @@ -40,5 +40,7 @@ public: QArray<int> sorted( bool asc, int sortOrder, int sortFilter, int cat ); + QBitArray supports()const; private: + static QBitArray sup(); void todo( QAsciiDict<int>*, OTodo&,const QCString&,const QString& ); QString toString( const OTodo& )const; 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 @@ -55,2 +55,8 @@ void OTodoAccess::removeAllCompleted() { m_todoBackEnd->removeAllCompleted(); } +QBitArray OTodoAccess::backendSupport( const QString& ) const{ + return m_todoBackEnd->supports(); +} +bool OTodoAccess::backendSupports( int attr, const QString& ar) const{ + return backendSupport(ar).testBit( attr ); +} 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 @@ -73,4 +73,19 @@ public: void removeAllCompleted(); + /** + * request information about what a backend supports. + * Supports in the sense of beeing able to store. + * This is related to the enum in OTodo + * + * @param backend Will be used in the future when we support multiple backend + */ + QBitArray backendSupport( const QString& backend = QString::null )const; + + /** + * see above but for a specefic attribute. This method was added for convience + * @param attr The attribute to be queried for + * @param backend Will be used in the future when we support multiple backends + */ + bool backendSupports( int attr, const QString& backend = QString::null )const; signals: /** |