summaryrefslogtreecommitdiff
authoreilers <eilers>2005-03-19 16:23:16 (UTC)
committer eilers <eilers>2005-03-19 16:23:16 (UTC)
commitea15abad0554edab0746f342fafddd461a0fb0eb (patch) (unidiff)
treed645b3d8655bab11f9685f1989a854b21468e1d5
parent34e42590a8ef21c1377f89c7b82f25bcf0aec3cb (diff)
downloadopie-ea15abad0554edab0746f342fafddd461a0fb0eb.zip
opie-ea15abad0554edab0746f342fafddd461a0fb0eb.tar.gz
opie-ea15abad0554edab0746f342fafddd461a0fb0eb.tar.bz2
Minor update for generic sorted(): It will now ignory any categories if filter "DoNotShowCategories" is used..
Diffstat (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,6 +1,8 @@
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>
4 * Added new OPimEventSortVector class, improved OPimSortVector 6 * Added new OPimEventSortVector class, improved OPimSortVector
5 * OPimAccessBackend now supports generic sorting. 7 * OPimAccessBackend now supports generic sorting.
62005-01-03 Stefan Eilers <stefan@eilers-online.net> 82005-01-03 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
@@ -253,37 +253,36 @@ UIDArray OPimContactAccessBackend::sorted( const UIDArray& ar, bool asc, int sor
253 OPimContact contact = find( ar[i], ar, i, Frontend::Forward ); 253 OPimContact contact = find( ar[i], ar, i, Frontend::Forward );
254 if ( contact.isEmpty() ) 254 if ( contact.isEmpty() )
255 continue; 255 continue;
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
287 */ 286 */
288 if ( !contactPassed ) 287 if ( !contactPassed )
289 continue; 288 continue;