diff options
author | Yana Stamcheva <yana@jitsi.org> | 2009-09-14 15:02:21 +0000 |
---|---|---|
committer | Yana Stamcheva <yana@jitsi.org> | 2009-09-14 15:02:21 +0000 |
commit | 0eac15d970b650a5ec217b769ab6a5b3def4ff82 (patch) | |
tree | b8697a8099ccba3bef8330fa401fef3dd62aafc6 /src/net/java | |
parent | 1a43f53a1fdc1465dfdd9096b168db714366d3c3 (diff) | |
download | jitsi-0eac15d970b650a5ec217b769ab6a5b3def4ff82.zip jitsi-0eac15d970b650a5ec217b769ab6a5b3def4ff82.tar.gz jitsi-0eac15d970b650a5ec217b769ab6a5b3def4ff82.tar.bz2 |
Show online contacts count for each group in the contact list. Patch provided by Valentin Martinet.
Diffstat (limited to 'src/net/java')
3 files changed, 43 insertions, 5 deletions
diff --git a/src/net/java/sip/communicator/impl/contactlist/MetaContactGroupImpl.java b/src/net/java/sip/communicator/impl/contactlist/MetaContactGroupImpl.java index 79e2df6..6b02dd6 100644 --- a/src/net/java/sip/communicator/impl/contactlist/MetaContactGroupImpl.java +++ b/src/net/java/sip/communicator/impl/contactlist/MetaContactGroupImpl.java @@ -13,8 +13,8 @@ import net.java.sip.communicator.service.protocol.*; import net.java.sip.communicator.util.*; /** - * A straightforward implementatiokn of the meta contact group. The group - * implements a simple algorithme of sorting its children according to their + * A straightforward implementation of the meta contact group. The group + * implements a simple algorithm of sorting its children according to their * status. * * @author Emil Ivov @@ -138,6 +138,36 @@ public class MetaContactGroupImpl { return childContacts.size(); } + + /** + * Returns the number of online <tt>MetaContact</tt>s that this group + * contains. + * <p> + * @return the number of online <tt>MetaContact</tt>s that this group + * contains. + */ + public int countOnlineChildContacts() + { + int onlineContactsNumber = 0; + try + { + Iterator<MetaContact> itr = getChildContacts(); + while(itr.hasNext()) + { + if(itr.next().getDefaultContact() + .getPresenceStatus().isOnline()) + { + onlineContactsNumber++; + } + } + } + catch(Exception e) + { + logger.debug("Failed to count online contacts.", e); + } + + return onlineContactsNumber; + } /** * Returns the number of <tt>ContactGroups</tt>s that this group diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListCellRenderer.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListCellRenderer.java index 1297e51..5d2794e 100644 --- a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListCellRenderer.java +++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListCellRenderer.java @@ -172,7 +172,8 @@ public class ContactListCellRenderer MetaContactGroup groupItem = (MetaContactGroup) value; this.nameLabel.setText(groupItem.getGroupName() - + " ( " + groupItem.countChildContacts() + " )"); + + " ( "+ groupItem.countOnlineChildContacts() + + "/" + groupItem.countChildContacts() + " )"); this.nameLabel.setFont(this.getFont().deriveFont(Font.BOLD)); diff --git a/src/net/java/sip/communicator/service/contactlist/MetaContactGroup.java b/src/net/java/sip/communicator/service/contactlist/MetaContactGroup.java index 81f4a75..18b8547 100644 --- a/src/net/java/sip/communicator/service/contactlist/MetaContactGroup.java +++ b/src/net/java/sip/communicator/service/contactlist/MetaContactGroup.java @@ -131,6 +131,15 @@ public interface MetaContactGroup public int countChildContacts(); /** + * Returns the number of online <tt>MetaContact</tt>s that this group + * contains. + * + * @return the number of online <tt>MetaContact</tt>s that this group + * contains. + */ + public int countOnlineChildContacts(); + + /** * Returns the number of <tt>ContactGroups</tt>s that this group * encapsulates * <p> @@ -268,7 +277,6 @@ public interface MetaContactGroup */ public MetaContactGroup getParentMetaContactGroup(); - /** * Returns a String representation of this group and the contacts it * contains (may turn out to be a relatively long string). @@ -284,5 +292,4 @@ public interface MetaContactGroup * @return a String uniquely identifying this meta contact. */ public String getMetaUID(); - } |