Mercurial > libervia-backend
changeset 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 | 104874018ab0 |
children | 526e4145253c |
files | frontends/src/primitivus/primitivus frontends/src/quick_frontend/quick_app.py |
diffstat | 2 files changed, 21 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/frontends/src/primitivus/primitivus Tue Jan 12 17:52:17 2016 +0100 +++ b/frontends/src/primitivus/primitivus Tue Jan 12 17:54:38 2016 +0100 @@ -479,6 +479,13 @@ else: del self._early_popup + def isHidden(self): + """Tells if the frontend window is hidden. + + @return bool + """ + return False # FIXME: implement when necessary + def alert(self, title, message): """Shortcut method to create an alert message
--- 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