changeset 1408:8a7145138330

quick_frontend, primitivus: move code to remove a new message alert from primitivus to quick_frontend
author souliane <souliane@mailoo.org>
date Thu, 16 Apr 2015 13:31:14 +0200 (2015-04-16)
parents 77f07ea90420
children 3265a2639182
files frontends/src/primitivus/contact_list.py frontends/src/quick_frontend/quick_contact_list.py
diffstat 2 files changed, 17 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/frontends/src/primitivus/contact_list.py	Thu Apr 09 11:27:13 2015 +0200
+++ b/frontends/src/primitivus/contact_list.py	Thu Apr 16 13:31:14 2015 +0200
@@ -136,16 +136,8 @@
         @param selected: boolean returned by the widget, telling if it is selected
         """
         entity = contact_wid.data
-        if use_bare_jid:
-            to_remove = set()
-            for alert_entity in self._alerts:
-                if alert_entity.bare == entity.bare:
-                    to_remove.add(alert_entity)
-            self._alerts.difference_update(to_remove)
-        else:
-            self._alerts.discard(entity)
+        self.removeAlert(entity, use_bare_jid)
         self.host.modeHint(C.MODE_INSERTION)
-        self.update()
         self._emit('click', entity)
 
     def onNickUpdate(self, entity, new_nick, profile):
--- a/frontends/src/quick_frontend/quick_contact_list.py	Thu Apr 09 11:27:13 2015 +0200
+++ b/frontends/src/quick_frontend/quick_contact_list.py	Thu Apr 16 13:31:14 2015 +0200
@@ -444,6 +444,22 @@
         self._alerts.add(entity)
         self.update()
 
+    def removeAlert(self, entity, use_bare_jid=True):
+        """Eventually remove an alert on the entity (usually for a waiting message).
+
+        @param entity(jid.JID): entity (resource is significant)
+        @param use_bare_jid (bool): if True, ignore the resource
+        """
+        if use_bare_jid:
+            to_remove = set()
+            for alert_entity in self._alerts:
+                if alert_entity.bare == entity.bare:
+                    to_remove.add(alert_entity)
+            self._alerts.difference_update(to_remove)
+        else:
+            self._alerts.discard(entity)
+        self.update()
+
     def _showOfflineContacts(self, show_str):
         self.showOfflineContacts(C.bool(show_str))