summaryrefslogtreecommitdiff
path: root/noncore/unsupported/libopie/pim/otodoaccessxml.h
Side-by-side diff
Diffstat (limited to 'noncore/unsupported/libopie/pim/otodoaccessxml.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/libopie/pim/otodoaccessxml.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/noncore/unsupported/libopie/pim/otodoaccessxml.h b/noncore/unsupported/libopie/pim/otodoaccessxml.h
new file mode 100644
index 0000000..e4850a1
--- a/dev/null
+++ b/noncore/unsupported/libopie/pim/otodoaccessxml.h
@@ -0,0 +1,60 @@
+#ifndef OPIE_TODO_ACCESS_XML_H
+#define OPIE_TODO_ACCESS_XML_H
+
+#include <qasciidict.h>
+#include <qmap.h>
+
+#include "otodoaccessbackend.h"
+
+namespace Opie {
+ class XMLElement;
+};
+
+class OTodoAccessXML : public OTodoAccessBackend {
+public:
+ /**
+ * fileName if Empty we will use the default path
+ */
+ OTodoAccessXML( const QString& appName,
+ const QString& fileName = QString::null );
+ ~OTodoAccessXML();
+
+ bool load();
+ bool reload();
+ bool save();
+
+ QArray<int> allRecords()const;
+ QArray<int> matchRegexp(const QRegExp &r) const;
+ QArray<int> queryByExample( const OTodo&, int querysettings, const QDateTime& d = QDateTime() );
+ OTodo find( int uid )const;
+ void clear();
+ bool add( const OTodo& );
+ bool remove( int uid );
+ void removeAllCompleted();
+ bool replace( const OTodo& );
+
+ /* our functions */
+ QArray<int> effectiveToDos( const QDate& start,
+ const QDate& end,
+ bool includeNoDates );
+ 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;
+ QMap<int, OTodo> m_events;
+ QString m_file;
+ QString m_app;
+ bool m_opened : 1;
+ bool m_changed : 1;
+ class OTodoAccessXMLPrivate;
+ OTodoAccessXMLPrivate* d;
+ int m_year, m_month, m_day;
+
+};
+
+#endif