summaryrefslogtreecommitdiff
path: root/libopie/tododb.cpp
Unidiff
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
@@ -168,60 +168,80 @@ QValueList<ToDoEvent> ToDoDB::effectiveToDos(const QDate &from, const QDate &to,
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