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
This commit is contained in:
souliane 2016-01-12 17:54:38 +01:00
commit f16e277e8f
2 changed files with 21 additions and 3 deletions

View file

@ -479,6 +479,13 @@ class PrimitivusApp(QuickApp, InputHistory):
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

View file

@ -516,7 +516,10 @@ class QuickApp(object):
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 @@ class QuickApp(object):
"""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