diff frontends/src/quick_frontend/quick_contact_list.py @ 1393:50d5d6325f62

quick_frontend, primitivus: various fixes (MUC and cached signals): - actually call the cached signals, everything was there but the call was not done - display '[]' instead of '[None]' when group message coming from the room (no resource) - catch the exception when trying to delete an occupant who's not in the room - do not cache a "main resource" for MUC entities
author souliane <souliane@mailoo.org>
date Wed, 25 Mar 2015 15:25:51 +0100
parents 1276e6a0716b
children 069ad98b360d
line wrap: on
line diff
--- a/frontends/src/quick_frontend/quick_contact_list.py	Wed Mar 25 15:28:02 2015 +0100
+++ b/frontends/src/quick_frontend/quick_contact_list.py	Wed Mar 25 15:25:51 2015 +0100
@@ -296,6 +296,7 @@
                 self._specials.remove(entity_bare)
             else:
                 self._specials.add(entity_bare)
+                cache[C.CONTACT_MAIN_RESOURCE] = None
 
         # now the attribute we keep in cache
         for attribute, value in attributes.iteritems():
@@ -401,8 +402,9 @@
             resource_data[C.PRESENCE_PRIORITY] = int(priority)
             resource_data[C.PRESENCE_STATUSES] = statuses
 
-            priority_resource = max(resources_data, key=lambda res: resources_data[res][C.PRESENCE_PRIORITY])
-            cache[C.CONTACT_MAIN_RESOURCE] = priority_resource
+            if entity.bare not in self._specials:
+                priority_resource = max(resources_data, key=lambda res: resources_data[res][C.PRESENCE_PRIORITY])
+                cache[C.CONTACT_MAIN_RESOURCE] = priority_resource
         self.update()
 
     def onNickUpdate(self, entity, new_nick, profile):