summaryrefslogtreecommitdiff
path: root/libopie/todoevent.h
Side-by-side diff
Diffstat (limited to 'libopie/todoevent.h') (more/less context) (show whitespace changes)
-rw-r--r--libopie/todoevent.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/libopie/todoevent.h b/libopie/todoevent.h
index de4623f..b55a39b 100644
--- a/libopie/todoevent.h
+++ b/libopie/todoevent.h
@@ -1,15 +1,18 @@
#ifndef todoevent_h
#define todoevent_h
+
+#include <qarray.h>
#include <qmap.h>
#include <qregexp.h>
#include <qstringlist.h>
#include <qdatetime.h>
+
class ToDoEvent {
friend class ToDoDB;
public:
// priorities from Very low to very high
enum Priority { VERYHIGH=1, HIGH, NORMAL, LOW, VERYLOW };
/* Constructs a new ToDoEvent
@@ -86,12 +89,22 @@ class ToDoEvent {
* Returns the UID of the Todo
*/
int uid()const { return m_uid;};
QString extra(const QString& )const;
+
+ /**
+ * returns a list of apps which have related items
+ */
+ QStringList relatedApps()const;
+
+ /**
+ * returns all relations for one app
+ */
+ QArray<int> relations( const QString& app )const;
/**
* Set if this Todo is completed
*/
void setCompleted(bool completed );
/**
@@ -122,12 +135,27 @@ class ToDoEvent {
/**
* Set the progress.
*/
void setProgress( ushort progress );
/**
+ * add related function it replaces too ;)
+ */
+ void addRelated( const QString& app, int id );
+
+ /**
+ * add related
+ */
+ void addRelated( const QString& app, QArray<int> ids );
+
+ /**
+ * clear relations for one app
+ */
+ void clearRelated(const QString& app);
+
+ /**
* set the end date
*/
void setDate( QDate date );
void setDescription(const QString& );
void setSummary(const QString& );
void setExtra( const QString&, const QString& );
@@ -151,12 +179,13 @@ class ToDoEvent {
bool m_hasDate:1;
int m_priority;
QStringList m_category;
QString m_desc;
QString m_sum;
QMap<QString, QString> m_extra;
+ QMap<QString, QArray<int> > m_relations;
int m_uid;
ushort m_prog;
};
#endif