# HG changeset patch # User souliane # Date 1427918848 -7200 # Node ID 96dd0ae1a850ce3682e3a247fcadf32139a33026 # Parent 069ad98b360d5c61b6eba8ed6e0d849c0c2dde63 quick_frontend (contact_list): rename QuickContactList.remove to QuickContactList.removeContact + remove the contact from _roster attribute (and not only from _cache) diff -r 069ad98b360d -r 96dd0ae1a850 frontends/src/quick_frontend/quick_app.py --- a/frontends/src/quick_frontend/quick_app.py Mon Mar 30 10:26:26 2015 +0200 +++ b/frontends/src/quick_frontend/quick_app.py Wed Apr 01 22:07:28 2015 +0200 @@ -543,7 +543,7 @@ chat_widget = self.widgets.getWidget(quick_chat.QuickChat, room_jid, profile) if chat_widget: self.widgets.deleteWidget(chat_widget) - self.contact_lists[profile].remove(room_jid) + self.contact_lists[profile].removeContact(room_jid) def roomUserJoinedHandler(self, room_jid_s, user_nick, user_data, profile): """Called when an user joined a MUC room""" @@ -643,7 +643,7 @@ def contactDeletedHandler(self, jid_s, profile): target = jid.JID(jid_s) - self.contact_lists[profile].remove(target) + self.contact_lists[profile].removeContact(target, in_roster=True) def entityDataUpdatedHandler(self, entity_s, key, value, profile): entity = jid.JID(entity_s) diff -r 069ad98b360d -r 96dd0ae1a850 frontends/src/quick_frontend/quick_contact_list.py --- a/frontends/src/quick_frontend/quick_contact_list.py Mon Mar 30 10:26:26 2015 +0200 +++ b/frontends/src/quick_frontend/quick_contact_list.py Wed Apr 01 22:07:28 2015 +0200 @@ -352,16 +352,19 @@ """ return entity in self.getGroupData(group, "jids") - def remove(self, entity): + def removeContact(self, entity, in_roster=False): """remove a contact from the list @param entity(jid.JID): jid of the entity to remove (bare jid is used) + @param in_roster (bool): True if contact is from roster """ entity_bare = entity.bare try: groups = self._cache[entity_bare].get(C.CONTACT_GROUPS, set()) except KeyError: log.warning(_("Trying to delete an unknow entity [{}]").format(entity)) + if in_roster: + self._roster.remove(entity_bare) del self._cache[entity_bare] for group in groups: self._groups[group]['jids'].remove(entity_bare)