author | zecke <zecke> | 2002-06-17 14:20:23 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-06-17 14:20:23 (UTC) |
commit | f27745ccf2ace20e5adc44bf630b20e5657feeb2 (patch) (unidiff) | |
tree | 3fbd91d407051cf94551e49c29d593d6b8c89058 | |
parent | 77ec78630c69c80a3d8bad7f7feb9cc9f18ab346 (diff) | |
download | opie-f27745ccf2ace20e5adc44bf630b20e5657feeb2.zip opie-f27745ccf2ace20e5adc44bf630b20e5657feeb2.tar.gz opie-f27745ccf2ace20e5adc44bf630b20e5657feeb2.tar.bz2 |
Cross Referencing is possible by now
-rw-r--r-- | libopie/todoevent.cpp | 57 | ||||
-rw-r--r-- | libopie/todoevent.h | 29 |
2 files changed, 86 insertions, 0 deletions
diff --git a/libopie/todoevent.cpp b/libopie/todoevent.cpp index b35ac9d..f744550 100644 --- a/libopie/todoevent.cpp +++ b/libopie/todoevent.cpp | |||
@@ -86,2 +86,20 @@ ushort ToDoEvent::progress() const | |||
86 | } | 86 | } |
87 | QStringList ToDoEvent::relatedApps() const | ||
88 | { | ||
89 | QStringList list; | ||
90 | QMap<QString, QArray<int> >::ConstIterator it; | ||
91 | for ( it = m_relations.begin(); it != m_relations.end(); ++it ) { | ||
92 | list << it.key(); | ||
93 | } | ||
94 | return list; | ||
95 | } | ||
96 | QArray<int> ToDoEvent::relations( const QString& app)const | ||
97 | { | ||
98 | QArray<int> tmp; | ||
99 | QMap<QString, QArray<int> >::ConstIterator it; | ||
100 | it = m_relations.find( app); | ||
101 | if ( it != m_relations.end() ) | ||
102 | tmp = it.data(); | ||
103 | return tmp; | ||
104 | } | ||
87 | void ToDoEvent::insertCategory(const QString &str ) | 105 | void ToDoEvent::insertCategory(const QString &str ) |
@@ -141,2 +159,41 @@ void ToDoEvent::setDate( QDate date ) | |||
141 | } | 159 | } |
160 | void ToDoEvent::addRelated( const QString &app, int id ) | ||
161 | { | ||
162 | QMap<QString, QArray<int> >::Iterator it; | ||
163 | QArray<int> tmp; | ||
164 | it = m_relations.find( app ); | ||
165 | if ( it == m_relations.end() ) { | ||
166 | tmp.resize(1 ); | ||
167 | tmp[0] = id; | ||
168 | }else{ | ||
169 | tmp = it.data(); | ||
170 | tmp.resize( tmp.size() + 1 ); | ||
171 | tmp[tmp.size() - 1] = id; | ||
172 | } | ||
173 | m_relations.replace( app, tmp ); | ||
174 | } | ||
175 | void ToDoEvent::addRelated(const QString& app, QArray<int> ids ) | ||
176 | { | ||
177 | QMap<QString, QArray<int> >::Iterator it; | ||
178 | QArray<int> tmp; | ||
179 | it = m_relations.find( app); | ||
180 | if ( it == m_relations.end() ) { // not there | ||
181 | /** tmp.resize( ids.size() ); stupid?? | ||
182 | */ | ||
183 | tmp = ids; | ||
184 | }else{ | ||
185 | tmp = it.data(); | ||
186 | int offset = tmp.size()-1; | ||
187 | tmp.resize( tmp.size() + ids.size() ); | ||
188 | for (uint i = 0; i < ids.size(); i++ ) { | ||
189 | tmp[offset+i] = ids[i]; | ||
190 | } | ||
191 | |||
192 | } | ||
193 | m_relations.replace( app, tmp ); | ||
194 | } | ||
195 | void ToDoEvent::clearRelated( const QString& app ) | ||
196 | { | ||
197 | m_relations.remove( app ); | ||
198 | } | ||
142 | bool ToDoEvent::isOverdue( ) | 199 | bool ToDoEvent::isOverdue( ) |
diff --git a/libopie/todoevent.h b/libopie/todoevent.h index de4623f..b55a39b 100644 --- a/libopie/todoevent.h +++ b/libopie/todoevent.h | |||
@@ -4,2 +4,4 @@ | |||
4 | 4 | ||
5 | |||
6 | #include <qarray.h> | ||
5 | #include <qmap.h> | 7 | #include <qmap.h> |
@@ -9,2 +11,3 @@ | |||
9 | 11 | ||
12 | |||
10 | class ToDoEvent { | 13 | class ToDoEvent { |
@@ -91,2 +94,12 @@ class ToDoEvent { | |||
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 | /** |
@@ -127,2 +140,17 @@ class ToDoEvent { | |||
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 |
@@ -156,2 +184,3 @@ class ToDoEvent { | |||
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; |