diff mcabber/src/roster.c @ 1504:9fafea381eb8

Show the number of unfiltered contacts in folded groups
author franky
date Sun, 31 Aug 2008 11:29:04 +0200
parents 77afd831f8f7
children b29ac1f171ea
line wrap: on
line diff
--- a/mcabber/src/roster.c	Sat Aug 23 21:01:14 2008 +0200
+++ b/mcabber/src/roster.c	Sun Aug 31 11:29:04 2008 +0200
@@ -813,6 +813,11 @@
   return (display_filter != DFILTER_ALL);
 }
 
+int buddylist_is_status_filtered(enum imstatus status)
+{
+  return display_filter & (1 << status);
+}
+
 void buddylist_set_filter(guchar filter)
 {
   display_filter = filter;
@@ -869,7 +874,8 @@
       // - group isn't hidden (shrunk)
       // - this is the current_buddy
       if (roster_usrelt == roster_current_buddy ||
-          display_filter & 1<<buddy_getstatus((gpointer)roster_usrelt, NULL) ||
+          buddylist_is_status_filtered(buddy_getstatus((gpointer)roster_usrelt,
+                                                       NULL)) ||
           (buddy_getflags((gpointer)roster_usrelt) &
                (ROSTER_FLAG_LOCK | ROSTER_FLAG_USRLOCK | ROSTER_FLAG_MSG))) {
         // This user should be added.  Maybe the group hasn't been added yet?