summaryrefslogtreecommitdiff
path: root/libopie/tododb.cpp
authorzecke <zecke>2002-04-15 20:53:57 (UTC)
committer zecke <zecke>2002-04-15 20:53:57 (UTC)
commite010d922ac415558e5efd35e69e39e45908b5501 (patch) (unidiff)
tree7b6dac3a82613fdefb15c818541891f577ecf48d /libopie/tododb.cpp
parent15244683bb97d303d0d3b6104b46a9b429aaed85 (diff)
downloadopie-e010d922ac415558e5efd35e69e39e45908b5501.zip
opie-e010d922ac415558e5efd35e69e39e45908b5501.tar.gz
opie-e010d922ac415558e5efd35e69e39e45908b5501.tar.bz2
updates?
too much to remember
Diffstat (limited to 'libopie/tododb.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/tododb.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/libopie/tododb.cpp b/libopie/tododb.cpp
index 3f6dc30..4d6711d 100644
--- a/libopie/tododb.cpp
+++ b/libopie/tododb.cpp
@@ -152,76 +152,96 @@ ToDoDB::~ToDoDB()
152{ 152{
153 delete m_res; 153 delete m_res;
154} 154}
155QValueList<ToDoEvent> ToDoDB::effectiveToDos(const QDate &from, const QDate &to, 155QValueList<ToDoEvent> ToDoDB::effectiveToDos(const QDate &from, const QDate &to,
156 bool all ) 156 bool all )
157{ 157{
158 QValueList<ToDoEvent> events; 158 QValueList<ToDoEvent> events;
159 for( QValueList<ToDoEvent>::Iterator it = m_todos.begin(); it!= m_todos.end(); ++it ){ 159 for( QValueList<ToDoEvent>::Iterator it = m_todos.begin(); it!= m_todos.end(); ++it ){
160 if( (*it).hasDate() ){ 160 if( (*it).hasDate() ){
161 if( (*it).date() >= from && (*it).date() <= to ) 161 if( (*it).date() >= from && (*it).date() <= to )
162 events.append( (*it) ); 162 events.append( (*it) );
163 }else if( all ){ 163 }else if( all ){
164 events.append( (*it) ); 164 events.append( (*it) );
165 } 165 }
166 } 166 }
167 return events; 167 return events;
168} 168}
169QValueList<ToDoEvent> ToDoDB::effectiveToDos(const QDate &from, 169QValueList<ToDoEvent> ToDoDB::effectiveToDos(const QDate &from,
170 bool all) 170 bool all)
171{ 171{
172 return effectiveToDos( from, QDate::currentDate(), all ); 172 return effectiveToDos( from, QDate::currentDate(), all );
173} 173}
174QValueList<ToDoEvent> ToDoDB::overDue() 174QValueList<ToDoEvent> ToDoDB::overDue()
175{ 175{
176 QValueList<ToDoEvent> events; 176 QValueList<ToDoEvent> events;
177 for( QValueList<ToDoEvent>::Iterator it = m_todos.begin(); it!= m_todos.end(); ++it ){ 177 for( QValueList<ToDoEvent>::Iterator it = m_todos.begin(); it!= m_todos.end(); ++it ){
178 if( (*it).isOverdue() ) 178 if( (*it).isOverdue() )
179 events.append((*it) ); 179 events.append((*it) );
180 } 180 }
181 return events; 181 return events;
182} 182}
183QValueList<ToDoEvent> ToDoDB::rawToDos() 183QValueList<ToDoEvent> ToDoDB::rawToDos()
184{ 184{
185 return m_todos; 185 return m_todos;
186} 186}
187void ToDoDB::addEvent( const ToDoEvent &event ) 187void ToDoDB::addEvent( const ToDoEvent &event )
188{ 188{
189 m_todos.append( event ); 189 m_todos.append( event );
190} 190}
191void ToDoDB::editEvent( const ToDoEvent &event ) 191void ToDoDB::editEvent( const ToDoEvent &event )
192{ 192{
193 m_todos.remove( event ); 193 m_todos.remove( event );
194 m_todos.append( event ); 194 m_todos.append( event );
195} 195}
196void ToDoDB::removeEvent( const ToDoEvent &event ) 196void ToDoDB::removeEvent( const ToDoEvent &event )
197{ 197{
198 m_todos.remove( event ); 198 m_todos.remove( event );
199} 199}
200void ToDoDB::replaceEvent(const ToDoEvent &event )
201{
202 QValueList<ToDoEvent>::Iterator it;
203 int uid = event.uid();
204 // == is not overloaded as we would like :( so let's search for the uid
205 for(it = m_todos.begin(); it != m_todos.end(); ++it ){
206 if( (*it).uid() == uid ){
207 m_todos.remove( (*it) );
208 break; // should save us the iterate is now borked
209 }
210 }
211 m_todos.append(event);
212}
200void ToDoDB::reload() 213void ToDoDB::reload()
201{ 214{
202 load(); 215 load();
203} 216}
217void ToDoDB::mergeWith(const QValueList<ToDoEvent>& events )
218{
219 QValueList<ToDoEvent>::ConstIterator it;
220 for( it = events.begin(); it != events.end(); ++it ){
221 replaceEvent( (*it) );
222 }
223}
204void ToDoDB::setFileName(const QString &file ) 224void ToDoDB::setFileName(const QString &file )
205{ 225{
206 m_fileName =file; 226 m_fileName =file;
207} 227}
208QString ToDoDB::fileName()const 228QString ToDoDB::fileName()const
209{ 229{
210 return m_fileName; 230 return m_fileName;
211} 231}
212void ToDoDB::load() 232void ToDoDB::load()
213{ 233{
214 m_todos = m_res->load( m_fileName ); 234 m_todos = m_res->load( m_fileName );
215} 235}
216bool ToDoDB::save() 236bool ToDoDB::save()
217{ 237{
218 return m_res->save( m_fileName, m_todos ); 238 return m_res->save( m_fileName, m_todos );
219} 239}
220 240
221 241
222 242
223 243
224 244
225 245
226 246
227 247