-rw-r--r-- | libopie2/opiepim/ChangeLog | 2 | ||||
-rw-r--r-- | libopie2/opiepim/backend/ocontactaccessbackend.cpp | 41 |
2 files changed, 22 insertions, 21 deletions
diff --git a/libopie2/opiepim/ChangeLog b/libopie2/opiepim/ChangeLog index 52b3f6b..a1b4db0 100644 --- a/libopie2/opiepim/ChangeLog +++ b/libopie2/opiepim/ChangeLog | |||
@@ -1,3 +1,5 @@ | |||
1 | 2005-03.19 Stefan Eilers <stefan@eilers-online.net> | ||
2 | * Minor update for sorted(). Now ignoring any category search if "DoNotShowWithCategory" filter is activated. | ||
1 | 2005-03-18 Stefan Eilers <stefan@eilers-online.net> | 3 | 2005-03-18 Stefan Eilers <stefan@eilers-online.net> |
2 | * Rewrote generic sorted filter and added filter for "DoNotShowWithCategory", needed by addressbook (other filters need to be added!) | 4 | * Rewrote generic sorted filter and added filter for "DoNotShowWithCategory", needed by addressbook (other filters need to be added!) |
3 | 2005-01-16 Stefan Eilers <stefan@eilers-online.net> | 5 | 2005-01-16 Stefan Eilers <stefan@eilers-online.net> |
diff --git a/libopie2/opiepim/backend/ocontactaccessbackend.cpp b/libopie2/opiepim/backend/ocontactaccessbackend.cpp index 6ac9934..e942905 100644 --- a/libopie2/opiepim/backend/ocontactaccessbackend.cpp +++ b/libopie2/opiepim/backend/ocontactaccessbackend.cpp | |||
@@ -256,31 +256,30 @@ UIDArray OPimContactAccessBackend::sorted( const UIDArray& ar, bool asc, int sor | |||
256 | 256 | ||
257 | contactPassed = true; | 257 | contactPassed = true; |
258 | 258 | ||
259 | // Filter all Contacts which have any category | ||
260 | if ( (filter & OPimContactAccess::DoNotShowWithCategory) ? true : false ){ | 259 | if ( (filter & OPimContactAccess::DoNotShowWithCategory) ? true : false ){ |
261 | if ( !contact.categories().isEmpty() ) | 260 | if ( !contact.categories().isEmpty() ) |
262 | continue; | 261 | continue; |
262 | } else { | ||
263 | |||
264 | if ( (filter & OPimContactAccess::FilterCategory) ? true : false ){ | ||
265 | /* show category */ | ||
266 | /* -1 == unfiled */ | ||
267 | for ( uint cat_nu = 0; cat_nu < cat_count; ++cat_nu ) { | ||
268 | cat = categories[cat_nu]; | ||
269 | |||
270 | if ( cat == -1 ) { | ||
271 | // We should search unfiled contacts. | ||
272 | // Unfiled categories have no category set, thus continue if | ||
273 | // this contact has no empty category. | ||
274 | if( !contact.categories().isEmpty() ) | ||
275 | contactPassed = false; | ||
276 | } else if ( cat != 0 ) | ||
277 | if ( !contact.categories().contains( cat ) ) | ||
278 | contactPassed = false; | ||
279 | } | ||
280 | |||
281 | } | ||
263 | } | 282 | } |
264 | |||
265 | /* show category */ | ||
266 | /* -1 == unfiled */ | ||
267 | for ( uint cat_nu = 0; cat_nu < cat_count; ++cat_nu ) { | ||
268 | cat = categories[cat_nu]; | ||
269 | |||
270 | if ( (filter & OPimContactAccess::FilterCategory) ? true : false ){ | ||
271 | if ( cat == -1 ) { | ||
272 | // We should search unfiled contacts. | ||
273 | // Unfiled categories have no category set, thus continue if | ||
274 | // this contact has no empty category. | ||
275 | if( !contact.categories().isEmpty() ) | ||
276 | contactPassed = false; | ||
277 | } else if ( cat != 0 ) | ||
278 | if ( !contact.categories().contains( cat ) ) | ||
279 | contactPassed = false; | ||
280 | } | ||
281 | |||
282 | } | ||
283 | |||
284 | /* | 283 | /* |
285 | * If none of the Categories matched | 284 | * If none of the Categories matched |
286 | * continue | 285 | * continue |