From e150dfd5151aa59eb373aa58df5d9644c6c65b52 Mon Sep 17 00:00:00 2001
From: zecke <zecke>
Date: Wed, 07 May 2003 15:26:59 +0000
Subject: Make it possible to see what a backend supports

---
(limited to 'libopie2/opiepim/backend')

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,6 +1,8 @@
 #ifndef OPIE_TODO_ACCESS_BACKEND_H
 #define OPIE_TODO_ACCESS_BACKEND_H
 
+#include <qbitarray.h>
+
 #include "otodo.h"
 #include "opimaccessbackend.h"
 
@@ -15,6 +17,7 @@ public:
     virtual QArray<int> sorted( bool asc, int sortOrder, int sortFilter,
                                 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
@@ -199,3 +199,23 @@ QArray<int> OTodoAccessVCal::overDue() {
     QArray<int> ar(0);
     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
@@ -27,8 +27,10 @@ public:
     bool replace( const OTodo& );
 
     void removeAllCompleted();
+    virtual QBitArray supports()const;
 
 private:
+    static QBitArray sup();
     bool m_dirty : 1;
     QString m_file;
     QMap<int, OTodo> m_map;
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
@@ -664,7 +664,6 @@ QArray<int> OTodoAccessXML::sorted( bool asc,  int sortOrder,
     for (uint i= 0; i < vector.count(); i++ ) {
         array[i] = ( vector.at(i) )->todo.uid();
     }
-    qWarning("array count = %d %d", array.count(), vector.count() );
     return array;
 };
 void OTodoAccessXML::removeAllCompleted() {
@@ -673,3 +672,18 @@ void OTodoAccessXML::removeAllCompleted() {
             m_events.remove( it );
     }
 }
+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
@@ -39,7 +39,9 @@ public:
     QArray<int> overDue();
     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;
     QString toString( const QArray<int>& ints ) const;
--
cgit v0.9.0.2