Mercurial > libervia-web
diff libervia.py @ 328:835a8ae799e7
Add notifications support, fixes bug 7.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Sat, 23 Feb 2013 16:27:32 +0100 |
parents | 36927be51481 |
children | 629c99bbd031 |
line wrap: on
line diff
--- a/libervia.py Tue Jan 07 23:49:39 2014 +0100 +++ b/libervia.py Sat Feb 23 16:27:32 2013 +0100 @@ -35,6 +35,7 @@ from browser_side.jid import JID from browser_side.xmlui import XMLUI from browser_side.tools import html_sanitize +from browser_side.notification import Notification from sat_frontends.tools.misc import InputHistory from sat_frontends.tools.strings import getURLParams @@ -180,6 +181,7 @@ self.avatars_cache = {} # keep track of jid's avatar hash (key=jid, value=file) self._register_box = None RootPanel().add(self.panel) + self.notification = Notification() DOM.addEventPreview(self) self._register = RegisterCall() self._register.call('registerParams', None) @@ -305,6 +307,9 @@ panel = self.tab_panel.tabBar.getTabWidget(tab_index) panel.addWidget(wid) + def displayNotification(self, title, body): + self.notification.notify(title, body) + def _isRegisteredCB(self, registered): if not registered: self._register_box = RegisterBox(self.logged) @@ -648,10 +653,11 @@ _to = JID(to_jid) other = _to if _from.bare == self.whoami.bare else _from lib_wid = self.getLiberviaWidget(panels.ChatPanel, other, ignoreOtherTabs=False) + self.displayNotification(_from, msg) if lib_wid is not None: lib_wid.printMessage(_from, msg, extra) else: - # The message has not been showed, we must indicate it + # The message has not been shown, we must indicate it self.contact_panel.setContactMessageWaiting(other.bare, True) def _presenceUpdateCb(self, entity, show, priority, statuses):