quick_frontend, primitivus: move code to remove a new message alert from primitivus to quick_frontend

This commit is contained in:
souliane 2015-04-16 13:31:14 +02:00
commit cc829beac7
2 changed files with 17 additions and 9 deletions

View file

@ -136,16 +136,8 @@ class ContactList(PrimitivusWidget, QuickContactList):
@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):

View file

@ -444,6 +444,22 @@ class QuickContactList(QuickWidget):
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))