-rw-r--r-- | libopie/pim/otodoaccesssql.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libopie/pim/otodoaccesssql.cpp b/libopie/pim/otodoaccesssql.cpp index 25536e0..8add9f7 100644 --- a/libopie/pim/otodoaccesssql.cpp +++ b/libopie/pim/otodoaccesssql.cpp | |||
@@ -310,40 +310,42 @@ QArray<int> OTodoAccessBackendSQL::effectiveToDos( const QDate& s, | |||
310 | } | 310 | } |
311 | /* | 311 | /* |
312 | * | 312 | * |
313 | */ | 313 | */ |
314 | QArray<int> OTodoAccessBackendSQL::sorted( bool asc, int sortOrder, | 314 | QArray<int> OTodoAccessBackendSQL::sorted( bool asc, int sortOrder, |
315 | int sortFilter, int cat ) { | 315 | int sortFilter, int cat ) { |
316 | QString query; | 316 | QString query; |
317 | query = "select uid from todolist WHERE "; | 317 | query = "select uid from todolist WHERE "; |
318 | 318 | ||
319 | /* | 319 | /* |
320 | * Sort Filter stuff | 320 | * Sort Filter stuff |
321 | * not that straight forward | 321 | * not that straight forward |
322 | * | 322 | * |
323 | */ | 323 | */ |
324 | /* Category */ | 324 | /* Category */ |
325 | if ( sortFilter & 1 ) { | 325 | if ( sortFilter & 1 ) { |
326 | query += " categories like '%" +QString::number(cat)+"%' AND"; | 326 | QString str; |
327 | if (cat != 0 ) str = QString::number( cat ); | ||
328 | query += " categories like '%" +str+"%' AND"; | ||
327 | } | 329 | } |
328 | /* Show only overdue */ | 330 | /* Show only overdue */ |
329 | if ( sortFilter & 2 ) { | 331 | if ( sortFilter & 2 ) { |
330 | QDate date = QDate::currentDate(); | 332 | QDate date = QDate::currentDate(); |
331 | QString due; | 333 | QString due; |
332 | QString base; | 334 | QString base; |
333 | base = QString("DueDate <= '%1-%2-%3' AND WHERE completed = 0").arg( date.year() ).arg( date.month() ).arg( date.day() ); | 335 | base = QString("DueDate <= '%1-%2-%3' AND completed = 0").arg( date.year() ).arg( date.month() ).arg( date.day() ); |
334 | query += " " + base + " AND"; | 336 | query += " " + base + " AND"; |
335 | } | 337 | } |
336 | /* not show completed */ | 338 | /* not show completed */ |
337 | if ( sortFilter & 4 ) { | 339 | if ( sortFilter & 4 ) { |
338 | query += " completed = 0 AND"; | 340 | query += " completed = 0 AND"; |
339 | }else{ | 341 | }else{ |
340 | query += " ( completed = 1 OR completed = 0) AND"; | 342 | query += " ( completed = 1 OR completed = 0) AND"; |
341 | } | 343 | } |
342 | /* srtip the end */ | 344 | /* srtip the end */ |
343 | query = query.remove( query.length()-3, 3 ); | 345 | query = query.remove( query.length()-3, 3 ); |
344 | 346 | ||
345 | 347 | ||
346 | /* | 348 | /* |
347 | * sort order stuff | 349 | * sort order stuff |
348 | * quite straight forward | 350 | * quite straight forward |
349 | */ | 351 | */ |
@@ -430,25 +432,26 @@ void OTodoAccessBackendSQL::fillDict() { | |||
430 | m_dict.insert("HasAlarmDateTime",new int(OTodo::HasAlarmDateTime) ); | 432 | m_dict.insert("HasAlarmDateTime",new int(OTodo::HasAlarmDateTime) ); |
431 | m_dict.insert("AlarmDateTime", new int(OTodo::AlarmDateTime) ); | 433 | m_dict.insert("AlarmDateTime", new int(OTodo::AlarmDateTime) ); |
432 | } | 434 | } |
433 | void OTodoAccessBackendSQL::update() { | 435 | void OTodoAccessBackendSQL::update() { |
434 | LoadQuery lo; | 436 | LoadQuery lo; |
435 | OSQLResult res = m_driver->query(&lo); | 437 | OSQLResult res = m_driver->query(&lo); |
436 | if ( res.state() != OSQLResult::Success ) | 438 | if ( res.state() != OSQLResult::Success ) |
437 | return; | 439 | return; |
438 | 440 | ||
439 | m_uids = uids( res ); | 441 | m_uids = uids( res ); |
440 | } | 442 | } |
441 | QArray<int> OTodoAccessBackendSQL::uids( const OSQLResult& res) const{ | 443 | QArray<int> OTodoAccessBackendSQL::uids( const OSQLResult& res) const{ |
442 | 444 | ||
443 | OSQLResultItem::ValueList list = res.results(); | 445 | OSQLResultItem::ValueList list = res.results(); |
444 | OSQLResultItem::ValueList::Iterator it; | 446 | OSQLResultItem::ValueList::Iterator it; |
445 | QArray<int> ints(list.count() ); | 447 | QArray<int> ints(list.count() ); |
448 | qWarning(" count = %d", list.count() ); | ||
446 | 449 | ||
447 | int i = 0; | 450 | int i = 0; |
448 | for (it = list.begin(); it != list.end(); ++it ) { | 451 | for (it = list.begin(); it != list.end(); ++it ) { |
449 | ints[i] = (*it).data("uid").toInt(); | 452 | ints[i] = (*it).data("uid").toInt(); |
450 | i++; | 453 | i++; |
451 | } | 454 | } |
452 | return ints; | 455 | return ints; |
453 | } | 456 | } |
454 | 457 | ||