Mercurial > libervia-backend
diff frontends/src/quick_frontend/quick_app.py @ 1787:d678b723460b
quick_frontend, primitivus: mechanism to signal a new message reception when the window is hidden (even if the message is actually displayed):
- for now this is only used by Libervia
author | souliane <souliane@mailoo.org> |
---|---|
date | Tue, 12 Jan 2016 17:54:38 +0100 |
parents | d17772b0fe22 |
children | 70ce9421c4d3 |
line wrap: on
line diff
--- a/frontends/src/quick_frontend/quick_app.py Tue Jan 12 17:52:17 2016 +0100 +++ b/frontends/src/quick_frontend/quick_app.py Tue Jan 12 17:54:38 2016 +0100 @@ -516,7 +516,10 @@ if isinstance(widget, quick_chat.QuickChat) and widget.manageMessage(from_jid, type_): visible = True break - if not visible: + if visible: + if self.isHidden(): # the window is hidden + self.updateAlertsCounter(extra_inc=1) + else: contact_list.addAlert(from_jid.bare if type_ == C.MESS_TYPE_GROUPCHAT else from_jid) def sendMessage(self, to_jid, message, subject='', mess_type="auto", extra={}, callback=None, errback=None, profile_key=C.PROF_KEY_NONE): @@ -701,9 +704,17 @@ """Callback used when an action result in a progress id""" log.info(u"Progress ID received: {}".format(progress_id)) - def updateAlertsCounter(self): - """Update the over whole alerts counter + def isHidden(self): + """Tells if the frontend window is hidden. + @return bool + """ + raise NotImplementedError + + def updateAlertsCounter(self, extra_inc=0): + """Update the over whole alerts counter. + + @param extra_inc (int): extra counter """ pass