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:
parent
a08a073503
commit
f16e277e8f
2 changed files with 21 additions and 3 deletions
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue