Mercurial > libervia-backend
changeset 1397:96dd0ae1a850
quick_frontend (contact_list): rename QuickContactList.remove to QuickContactList.removeContact + remove the contact from _roster attribute (and not only from _cache)
author | souliane <souliane@mailoo.org> |
---|---|
date | Wed, 01 Apr 2015 22:07:28 +0200 |
parents | 069ad98b360d |
children | f8ecce11a0bc |
files | frontends/src/quick_frontend/quick_app.py frontends/src/quick_frontend/quick_contact_list.py |
diffstat | 2 files changed, 6 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- 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)
--- 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)