# HG changeset patch # User souliane # Date 1437380638 -7200 # Node ID 6ce18c4e5708fa6beabdf44f8b02518e7af21f9b # Parent b4c49c234c6b35e91983d00a982627e417fed0a0 quick_frontend: display over whole alerts counter diff -r b4c49c234c6b -r 6ce18c4e5708 frontends/src/quick_frontend/quick_app.py --- a/frontends/src/quick_frontend/quick_app.py Tue Jul 14 16:49:29 2015 +0200 +++ b/frontends/src/quick_frontend/quick_app.py Mon Jul 20 10:23:58 2015 +0200 @@ -278,6 +278,11 @@ """widgets currently visible (must be implemented by frontend)""" raise NotImplementedError + @property + def alerts_count(self): + """Count the over whole alerts for all contact lists""" + return sum([len(clist._alerts) for clist in self.contact_lists.values()]) + def registerSignal(self, function_name, handler=None, iface="core", with_profile=True): """Register a handler for a signal @@ -638,6 +643,12 @@ def showAlert(self, message): pass #FIXME + def updateAlertsCounter(self): + """Update the over whole alerts counter + + """ + pass + def paramUpdateHandler(self, name, value, namespace, profile): log.debug(_(u"param update: [%(namespace)s] %(name)s = %(value)s") % {'namespace': namespace, 'name': name, 'value': value}) if (namespace, name) == ("Connection", "JabberID"): diff -r b4c49c234c6b -r 6ce18c4e5708 frontends/src/quick_frontend/quick_contact_list.py --- a/frontends/src/quick_frontend/quick_contact_list.py Tue Jul 14 16:49:29 2015 +0200 +++ b/frontends/src/quick_frontend/quick_contact_list.py Mon Jul 20 10:23:58 2015 +0200 @@ -272,6 +272,7 @@ self._special_extras.clear() self._roster.clear() self._alerts.clear() + self.host.updateAlertsCounter() self.update() def setContact(self, entity, groups=None, attributes=None, in_roster=False): @@ -466,6 +467,7 @@ """ self._alerts.add(entity) self.update() + self.host.updateAlertsCounter() def removeAlert(self, entity, use_bare_jid=True): """Eventually remove an alert on the entity (usually for a waiting message). @@ -482,6 +484,7 @@ else: self._alerts.discard(entity) self.update() + self.host.updateAlertsCounter() def _showOfflineContacts(self, show_str): self.showOfflineContacts(C.bool(show_str))