summaryrefslogtreecommitdiff
path: root/libopie2
Unidiff
Diffstat (limited to 'libopie2') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/ChangeLog2
-rw-r--r--libopie2/opiepim/backend/ocontactaccessbackend.cpp41
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 @@
12005-03.19 Stefan Eilers <stefan@eilers-online.net>
2 * Minor update for sorted(). Now ignoring any category search if "DoNotShowWithCategory" filter is activated.
12005-03-18 Stefan Eilers <stefan@eilers-online.net> 32005-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!)
32005-01-16 Stefan Eilers <stefan@eilers-online.net> 52005-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