-rw-r--r-- | libopie/todoevent.h | 29 |
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,162 +1,191 @@ | |||
1 | 1 | ||
2 | #ifndef todoevent_h | 2 | #ifndef todoevent_h |
3 | #define todoevent_h | 3 | #define todoevent_h |
4 | 4 | ||
5 | |||
6 | #include <qarray.h> | ||
5 | #include <qmap.h> | 7 | #include <qmap.h> |
6 | #include <qregexp.h> | 8 | #include <qregexp.h> |
7 | #include <qstringlist.h> | 9 | #include <qstringlist.h> |
8 | #include <qdatetime.h> | 10 | #include <qdatetime.h> |
9 | 11 | ||
12 | |||
10 | class ToDoEvent { | 13 | class ToDoEvent { |
11 | friend class ToDoDB; | 14 | friend class ToDoDB; |
12 | public: | 15 | public: |
13 | // priorities from Very low to very high | 16 | // priorities from Very low to very high |
14 | enum Priority { VERYHIGH=1, HIGH, NORMAL, LOW, VERYLOW }; | 17 | enum Priority { VERYHIGH=1, HIGH, NORMAL, LOW, VERYLOW }; |
15 | /* Constructs a new ToDoEvent | 18 | /* Constructs a new ToDoEvent |
16 | @param completed Is the TodoEvent completed | 19 | @param completed Is the TodoEvent completed |
17 | @param priority What is the priority of this ToDoEvent | 20 | @param priority What is the priority of this ToDoEvent |
18 | @param category Which category does it belong( uid ) | 21 | @param category Which category does it belong( uid ) |
19 | @param summary A small summary of the todo | 22 | @param summary A small summary of the todo |
20 | @param description What is this ToDoEvent about | 23 | @param description What is this ToDoEvent about |
21 | @param hasDate Does this Event got a deadline | 24 | @param hasDate Does this Event got a deadline |
22 | @param date what is the deadline? | 25 | @param date what is the deadline? |
23 | @param uid what is the UUID of this Event | 26 | @param uid what is the UUID of this Event |
24 | **/ | 27 | **/ |
25 | ToDoEvent( bool completed = false, int priority = NORMAL, | 28 | ToDoEvent( bool completed = false, int priority = NORMAL, |
26 | const QStringList &category = QStringList(), | 29 | const QStringList &category = QStringList(), |
27 | const QString &summary = QString::null , | 30 | const QString &summary = QString::null , |
28 | const QString &description = QString::null, | 31 | const QString &description = QString::null, |
29 | ushort progress = 0, | 32 | ushort progress = 0, |
30 | bool hasDate = false, QDate date = QDate::currentDate(), int uid = -1 ); | 33 | bool hasDate = false, QDate date = QDate::currentDate(), int uid = -1 ); |
31 | /* Copy c'tor | 34 | /* Copy c'tor |
32 | 35 | ||
33 | **/ | 36 | **/ |
34 | ToDoEvent(const ToDoEvent & ); | 37 | ToDoEvent(const ToDoEvent & ); |
35 | 38 | ||
36 | /* | 39 | /* |
37 | Is this event completed? | 40 | Is this event completed? |
38 | **/ | 41 | **/ |
39 | bool isCompleted() const; | 42 | bool isCompleted() const; |
40 | 43 | ||
41 | /* | 44 | /* |
42 | Does this Event have a deadline | 45 | Does this Event have a deadline |
43 | **/ | 46 | **/ |
44 | bool hasDate() const; | 47 | bool hasDate() const; |
45 | 48 | ||
46 | /* | 49 | /* |
47 | What is the priority? | 50 | What is the priority? |
48 | **/ | 51 | **/ |
49 | int priority()const ; | 52 | int priority()const ; |
50 | 53 | ||
51 | /** | 54 | /** |
52 | * progress as ushort 0, 20, 40, 60, 80 or 100% | 55 | * progress as ushort 0, 20, 40, 60, 80 or 100% |
53 | */ | 56 | */ |
54 | ushort progress() const; | 57 | ushort progress() const; |
55 | /* | 58 | /* |
56 | All category numbers as QString in a List | 59 | All category numbers as QString in a List |
57 | **/ | 60 | **/ |
58 | QStringList allCategories()const; | 61 | QStringList allCategories()const; |
59 | 62 | ||
60 | /* | 63 | /* |
61 | * Same as above but with QArray<int> | 64 | * Same as above but with QArray<int> |
62 | */ | 65 | */ |
63 | QArray<int> categories() const; | 66 | QArray<int> categories() const; |
64 | 67 | ||
65 | /** | 68 | /** |
66 | * The end Date | 69 | * The end Date |
67 | */ | 70 | */ |
68 | QDate date()const; | 71 | QDate date()const; |
69 | 72 | ||
70 | /** | 73 | /** |
71 | * The description of the todo | 74 | * The description of the todo |
72 | */ | 75 | */ |
73 | QString description()const; | 76 | QString description()const; |
74 | 77 | ||
75 | /** | 78 | /** |
76 | * A small summary of the todo | 79 | * A small summary of the todo |
77 | */ | 80 | */ |
78 | QString summary() const; | 81 | QString summary() const; |
79 | 82 | ||
80 | /** | 83 | /** |
81 | * Return this todoevent in a RichText formatted QString | 84 | * Return this todoevent in a RichText formatted QString |
82 | */ | 85 | */ |
83 | QString richText() const; | 86 | QString richText() const; |
84 | 87 | ||
85 | /** | 88 | /** |
86 | * Returns the UID of the Todo | 89 | * Returns the UID of the Todo |
87 | */ | 90 | */ |
88 | int uid()const { return m_uid;}; | 91 | int uid()const { return m_uid;}; |
89 | 92 | ||
90 | 93 | ||
91 | QString extra(const QString& )const; | 94 | QString extra(const QString& )const; |
95 | |||
96 | /** | ||
97 | * returns a list of apps which have related items | ||
98 | */ | ||
99 | QStringList relatedApps()const; | ||
100 | |||
101 | /** | ||
102 | * returns all relations for one app | ||
103 | */ | ||
104 | QArray<int> relations( const QString& app )const; | ||
92 | /** | 105 | /** |
93 | * Set if this Todo is completed | 106 | * Set if this Todo is completed |
94 | */ | 107 | */ |
95 | void setCompleted(bool completed ); | 108 | void setCompleted(bool completed ); |
96 | 109 | ||
97 | /** | 110 | /** |
98 | * set if this todo got an end data | 111 | * set if this todo got an end data |
99 | */ | 112 | */ |
100 | void setHasDate( bool hasDate ); | 113 | void setHasDate( bool hasDate ); |
101 | // if the category doesn't exist we will create it | 114 | // if the category doesn't exist we will create it |
102 | // this sets the the Category after this call category will be the only category | 115 | // this sets the the Category after this call category will be the only category |
103 | void setCategory( const QString &category ); | 116 | void setCategory( const QString &category ); |
104 | // adds a category to the Categories of this event | 117 | // adds a category to the Categories of this event |
105 | void insertCategory(const QString &category ); | 118 | void insertCategory(const QString &category ); |
106 | 119 | ||
107 | /** | 120 | /** |
108 | * Removes this event from all categories | 121 | * Removes this event from all categories |
109 | */ | 122 | */ |
110 | void clearCategories(); | 123 | void clearCategories(); |
111 | 124 | ||
112 | /** | 125 | /** |
113 | * This todo belongs to xxx categories | 126 | * This todo belongs to xxx categories |
114 | */ | 127 | */ |
115 | void setCategories(const QStringList& ); | 128 | void setCategories(const QStringList& ); |
116 | 129 | ||
117 | /** | 130 | /** |
118 | * Set the priority of the Todo | 131 | * Set the priority of the Todo |
119 | */ | 132 | */ |
120 | void setPriority(int priority ); | 133 | void setPriority(int priority ); |
121 | 134 | ||
122 | /** | 135 | /** |
123 | * Set the progress. | 136 | * Set the progress. |
124 | */ | 137 | */ |
125 | void setProgress( ushort progress ); | 138 | void setProgress( ushort progress ); |
126 | 139 | ||
127 | /** | 140 | /** |
141 | * add related function it replaces too ;) | ||
142 | */ | ||
143 | void addRelated( const QString& app, int id ); | ||
144 | |||
145 | /** | ||
146 | * add related | ||
147 | */ | ||
148 | void addRelated( const QString& app, QArray<int> ids ); | ||
149 | |||
150 | /** | ||
151 | * clear relations for one app | ||
152 | */ | ||
153 | void clearRelated(const QString& app); | ||
154 | |||
155 | /** | ||
128 | * set the end date | 156 | * set the end date |
129 | */ | 157 | */ |
130 | void setDate( QDate date ); | 158 | void setDate( QDate date ); |
131 | void setDescription(const QString& ); | 159 | void setDescription(const QString& ); |
132 | void setSummary(const QString& ); | 160 | void setSummary(const QString& ); |
133 | void setExtra( const QString&, const QString& ); | 161 | void setExtra( const QString&, const QString& ); |
134 | bool isOverdue(); | 162 | bool isOverdue(); |
135 | 163 | ||
136 | bool match( const QRegExp &r )const; | 164 | bool match( const QRegExp &r )const; |
137 | 165 | ||
138 | void setUid(int id) {m_uid = id; }; | 166 | void setUid(int id) {m_uid = id; }; |
139 | bool operator<(const ToDoEvent &toDoEvent )const; | 167 | bool operator<(const ToDoEvent &toDoEvent )const; |
140 | bool operator<=(const ToDoEvent &toDoEvent )const; | 168 | bool operator<=(const ToDoEvent &toDoEvent )const; |
141 | bool operator!=(const ToDoEvent &toDoEvent )const { return !(*this == toDoEvent); }; | 169 | bool operator!=(const ToDoEvent &toDoEvent )const { return !(*this == toDoEvent); }; |
142 | bool operator>(const ToDoEvent &toDoEvent )const; | 170 | bool operator>(const ToDoEvent &toDoEvent )const; |
143 | bool operator>=(const ToDoEvent &toDoEvent)const; | 171 | bool operator>=(const ToDoEvent &toDoEvent)const; |
144 | bool operator==(const ToDoEvent &toDoEvent )const; | 172 | bool operator==(const ToDoEvent &toDoEvent )const; |
145 | ToDoEvent &operator=(const ToDoEvent &toDoEvent ); | 173 | ToDoEvent &operator=(const ToDoEvent &toDoEvent ); |
146 | private: | 174 | private: |
147 | class ToDoEventPrivate; | 175 | class ToDoEventPrivate; |
148 | ToDoEventPrivate *d; | 176 | ToDoEventPrivate *d; |
149 | QDate m_date; | 177 | QDate m_date; |
150 | bool m_isCompleted:1; | 178 | bool m_isCompleted:1; |
151 | bool m_hasDate:1; | 179 | bool m_hasDate:1; |
152 | int m_priority; | 180 | int m_priority; |
153 | QStringList m_category; | 181 | QStringList m_category; |
154 | QString m_desc; | 182 | QString m_desc; |
155 | QString m_sum; | 183 | QString m_sum; |
156 | QMap<QString, QString> m_extra; | 184 | QMap<QString, QString> m_extra; |
185 | QMap<QString, QArray<int> > m_relations; | ||
157 | int m_uid; | 186 | int m_uid; |
158 | ushort m_prog; | 187 | ushort m_prog; |
159 | }; | 188 | }; |
160 | 189 | ||
161 | 190 | ||
162 | #endif | 191 | #endif |