Mercurial > libervia-web
changeset 397:6148e9063069
browser_side: radiocol displays who uploaded the file with ChatPanel.printInfo
author | souliane <souliane@mailoo.org> |
---|---|
date | Tue, 11 Mar 2014 11:53:03 +0100 |
parents | a71fcc27f231 |
children | 462fc3359ee3 |
files | browser_side/panels.py browser_side/radiocol.py |
diffstat | 2 files changed, 28 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/browser_side/panels.py Tue Mar 11 10:45:52 2014 +0100 +++ b/browser_side/panels.py Tue Mar 11 11:53:03 2014 +0100 @@ -1184,17 +1184,23 @@ self.printMessage(from_jid, message, extra, timestamp) self.host.bridge.call('getHistory', getHistoryCB, self.host.whoami.bare, self.target.bare, size, True) - def printInfo(self, msg, type='normal'): + def printInfo(self, msg, type_='normal', link_cb=None): """Print general info @param msg: message to print - @type: one of: - normal: general info like "toto has joined the room" - me: "/me" information like "/me clenches his fist" ==> "toto clenches his fist" + @param type_: one of: + "normal": general info like "toto has joined the room" + "link": general info that is clickable like "click here to join the main room" + "me": "/me" information like "/me clenches his fist" ==> "toto clenches his fist" + @param link_cb: method to call when the info is clicked, ignored if type_ is not 'link' """ - _wid = Label(msg) - if type == 'normal': + _wid = HTML(msg) if type_ == 'link' else Label(msg) + if type_ == 'normal': _wid.setStyleName('chatTextInfo') - elif type == 'me': + elif type_ == 'link': + _wid.setStyleName('chatTextInfo-link') + if link_cb: + _wid.addClickListener(link_cb) + elif type_ == 'me': _wid.setStyleName('chatTextMe') else: _wid.setStyleName('chatTextInfo') @@ -1206,7 +1212,7 @@ nick = _jid.node if self.type == 'one2one' else _jid.resource mymess = _jid.resource == self.nick if self.type == "group" else _jid.bare == self.host.whoami.bare # mymess = True if message comes from local user if msg.startswith('/me '): - self.printInfo('* %s %s' % (nick, msg[4:]), type='me') + self.printInfo('* %s %s' % (nick, msg[4:]), type_='me') return self.content.add(ChatText(timestamp, nick, mymess, msg, extra.get('xhtml'))) self.content_scroll.scrollToBottom()
--- a/browser_side/radiocol.py Tue Mar 11 10:45:52 2014 +0100 +++ b/browser_side/radiocol.py Tue Mar 11 11:53:03 2014 +0100 @@ -217,6 +217,13 @@ class RadioColPanel(HorizontalPanel, ClickHandler): def __init__(self, parent, referee, player_nick, players, queue_data): + """ + @param parent + @param referee + @param player_nick + @param players + @param queue_data: list of integers (queue to start, queue limit) + """ # We need to set it here and not in the CSS :( HorizontalPanel.__init__(self, Height="90px") ClickHandler.__init__(self) @@ -240,13 +247,11 @@ self.add(player) self.addClickListener(self) - help_msg = HTML("""Accepted file formats: Ogg Vorbis (recommended), MP3.<br /> + help_msg = """Accepted file formats: Ogg Vorbis (recommended), MP3.<br /> Please do not submit files that are protected by copyright.<br /> - Click <a style="color: red;">here</a> if you need some support :) - """) - help_msg.setStyleName('chatTextInfo-link') - help_msg.addClickListener(lambda: self._parent.host.bridge.call('joinMUC', None, DEFAULT_MUC, self._parent.nick)) - self._parent.content.add(help_msg) + Click <a style="color: red;">here</a> if you need some support :)""" + link_cb = lambda: self._parent.host.bridge.call('joinMUC', None, DEFAULT_MUC, self._parent.nick) + self._parent.printInfo(help_msg, type_='link', link_cb=link_cb) def pushNextSong(self, title): """Add a song to the left panel's next songs queue""" @@ -273,7 +278,7 @@ return False return True - def radiocolPreload(self, timestamp, filename, title, artist, album): + def radiocolPreload(self, timestamp, filename, title, artist, album, sender): if not self.radiocolCheckPreload(timestamp): return # song already preloaded preloaded = False @@ -286,9 +291,10 @@ preloaded = True break if not preloaded: - print("WARNING: Can't preload song, we are getting too many songs to preload, we shouldn't have more than 2 at once") + print(_("WARNING: Can't preload song, we are getting too many songs to preload, we shouldn't have more than %d at once") % self.queue_data[1]) else: self.pushNextSong(title) + self._parent.printInfo(_('%(user)s uploaded %(artist)s - %(title)s') % {'user': sender, 'artist': artist, 'title': title}) def radiocolPlay(self, filename): found = False