From ea15abad0554edab0746f342fafddd461a0fb0eb Mon Sep 17 00:00:00 2001 From: eilers Date: Sat, 19 Mar 2005 16:23:16 +0000 Subject: Minor update for generic sorted(): It will now ignory any categories if filter "DoNotShowCategories" is used.. --- (limited to 'libopie2/opiepim') 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 @@ +2005-03.19 Stefan Eilers + * Minor update for sorted(). Now ignoring any category search if "DoNotShowWithCategory" filter is activated. 2005-03-18 Stefan Eilers * Rewrote generic sorted filter and added filter for "DoNotShowWithCategory", needed by addressbook (other filters need to be added!) 2005-01-16 Stefan Eilers 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 contactPassed = true; - // Filter all Contacts which have any category if ( (filter & OPimContactAccess::DoNotShowWithCategory) ? true : false ){ if ( !contact.categories().isEmpty() ) continue; + } else { + + if ( (filter & OPimContactAccess::FilterCategory) ? true : false ){ + /* show category */ + /* -1 == unfiled */ + for ( uint cat_nu = 0; cat_nu < cat_count; ++cat_nu ) { + cat = categories[cat_nu]; + + if ( cat == -1 ) { + // We should search unfiled contacts. + // Unfiled categories have no category set, thus continue if + // this contact has no empty category. + if( !contact.categories().isEmpty() ) + contactPassed = false; + } else if ( cat != 0 ) + if ( !contact.categories().contains( cat ) ) + contactPassed = false; + } + + } } - - /* show category */ - /* -1 == unfiled */ - for ( uint cat_nu = 0; cat_nu < cat_count; ++cat_nu ) { - cat = categories[cat_nu]; - - if ( (filter & OPimContactAccess::FilterCategory) ? true : false ){ - if ( cat == -1 ) { - // We should search unfiled contacts. - // Unfiled categories have no category set, thus continue if - // this contact has no empty category. - if( !contact.categories().isEmpty() ) - contactPassed = false; - } else if ( cat != 0 ) - if ( !contact.categories().contains( cat ) ) - contactPassed = false; - } - - } - /* * If none of the Categories matched * continue -- cgit v0.9.0.2