diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/PresenceFilter.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/PresenceFilter.java
index 76abdc965..55fc78081 100644
--- a/src/net/java/sip/communicator/impl/gui/main/contactlist/PresenceFilter.java
+++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/PresenceFilter.java
@@ -146,7 +146,8 @@ private boolean isMatching(MetaContact metaContact)
*/
private boolean isMatching(MetaContactGroup metaGroup)
{
- return (isShowOffline || metaGroup.countOnlineChildContacts() > 0)
+ return (isShowOffline || metaGroup.countOnlineChildContacts() > 0
+ || MetaContactListSource.isNewGroup(metaGroup))
? true
: false;
}
diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/contactsource/MetaContactListSource.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/contactsource/MetaContactListSource.java
index cea43d162..915632ddd 100644
--- a/src/net/java/sip/communicator/impl/gui/main/contactlist/contactsource/MetaContactListSource.java
+++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/contactsource/MetaContactListSource.java
@@ -46,6 +46,13 @@ public class MetaContactListSource
public static final String UI_GROUP_DATA_KEY
= MetaUIGroup.class.getName() + ".uiGroupDescriptor";
+ /**
+ * The data key of the MetaGroupDescriptor object used to store whether
+ * the group is newly created by user.
+ */
+ private static final String GROUP_IS_NEW_KEY
+ = MetaUIGroup.class.getName() + ".groupIsNew";
+
/**
* The initial result count below which we insert all filter results
* directly to the contact list without firing events.
@@ -84,6 +91,17 @@ public static UIGroup getUIGroup(MetaContactGroup metaGroup)
return (UIGroup) metaGroup.getData(UI_GROUP_DATA_KEY);
}
+ /**
+ * Returns whether MetaContactGroup is newly created.
+ * @param metaGroup the MetaContactGroup, which we will check.
+ * @return whether the MetaContactGroup is newly created.
+ */
+ public static boolean isNewGroup(MetaContactGroup metaGroup)
+ {
+ Object data = metaGroup.getData(GROUP_IS_NEW_KEY);
+ return data == null ? false : (Boolean)data;
+ }
+
/**
* Creates a UIContact for the given metaContact.
* @param metaContact the MetaContact for which we would like to
@@ -508,6 +526,12 @@ public void metaContactGroupAdded(MetaContactGroupEvent evt)
uiGroup = MetaContactListSource.createUIGroup(metaGroup);
}
+ // mark group as newly created
+ if(metaGroup.countChildContacts() == 0)
+ {
+ metaGroup.setData(GROUP_IS_NEW_KEY, Boolean.TRUE);
+ }
+
ContactListFilter currentFilter
= GuiActivator.getContactList().getCurrentFilter();