Merge branch 'master' of https://git.louiz.org/poezio
This commit is contained in:
commit
ccceb19c60
3 changed files with 30 additions and 1 deletions
|
@ -246,6 +246,8 @@ These commands will work in any conversation tab (MultiUserChat, Private, or
|
||||||
to begin with a _/_). Note that you can also send message starting with a _/_
|
to begin with a _/_). Note that you can also send message starting with a _/_
|
||||||
by starting it with _//_.
|
by starting it with _//_.
|
||||||
|
|
||||||
|
*/xhtml <custom xhtml>*:: Send a custom xhtml message to the current tab.
|
||||||
|
|
||||||
MultiUserChat tab commands
|
MultiUserChat tab commands
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
25
src/tabs.py
25
src/tabs.py
|
@ -46,6 +46,7 @@ from os import getenv, path
|
||||||
from logger import logger
|
from logger import logger
|
||||||
|
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
from xml.etree import cElementTree as ET
|
||||||
|
|
||||||
SHOW_NAME = {
|
SHOW_NAME = {
|
||||||
'dnd': _('busy'),
|
'dnd': _('busy'),
|
||||||
|
@ -308,6 +309,7 @@ class ChatTab(Tab):
|
||||||
self.commands['say'] = (self.command_say,
|
self.commands['say'] = (self.command_say,
|
||||||
_("""Usage: /say <message>\nSay: Just send the message.
|
_("""Usage: /say <message>\nSay: Just send the message.
|
||||||
Useful if you want your message to begin with a '/'."""), None)
|
Useful if you want your message to begin with a '/'."""), None)
|
||||||
|
self.commands['xhtml'] = (self.command_xhtml, _("Usage: /xhtml <custom xhtml>\nXHTML: Send custom XHTML."), None)
|
||||||
self.chat_state = None
|
self.chat_state = None
|
||||||
self.update_commands()
|
self.update_commands()
|
||||||
|
|
||||||
|
@ -339,6 +341,29 @@ class ChatTab(Tab):
|
||||||
self.command_say(xhtml.convert_simple_to_full_colors(txt))
|
self.command_say(xhtml.convert_simple_to_full_colors(txt))
|
||||||
self.cancel_paused_delay()
|
self.cancel_paused_delay()
|
||||||
|
|
||||||
|
def command_xhtml(self, arg):
|
||||||
|
""""
|
||||||
|
/xhtml <custom xhtml>
|
||||||
|
"""
|
||||||
|
if not arg:
|
||||||
|
return
|
||||||
|
try:
|
||||||
|
body = xhtml.clean_text(xhtml.xhtml_to_poezio_colors(arg))
|
||||||
|
ET.fromstring(arg)
|
||||||
|
except:
|
||||||
|
self.core.information('Could not send custom xhtml', 'Error')
|
||||||
|
return
|
||||||
|
|
||||||
|
msg = self.core.xmpp.make_message(self.get_name())
|
||||||
|
msg['body'] = body
|
||||||
|
msg['xhtml_im'] = arg
|
||||||
|
if isinstance(self, MucTab):
|
||||||
|
msg['type'] = 'groupchat'
|
||||||
|
if isinstance(self, ConversationTab):
|
||||||
|
self.core.add_message_to_text_buffer(self._text_buffer, body, None, self.core.own_nick)
|
||||||
|
self.refresh()
|
||||||
|
msg.send()
|
||||||
|
|
||||||
def send_chat_state(self, state, always_send=False):
|
def send_chat_state(self, state, always_send=False):
|
||||||
"""
|
"""
|
||||||
Send an empty chatstate message
|
Send an empty chatstate message
|
||||||
|
|
|
@ -258,7 +258,9 @@ def xhtml_to_poezio_colors(text):
|
||||||
if key == 'background-color':
|
if key == 'background-color':
|
||||||
pass#shell += '\x191'
|
pass#shell += '\x191'
|
||||||
elif key == 'color':
|
elif key == 'color':
|
||||||
shell += '\x19%d}' % get_color(value)
|
color = get_color(value)
|
||||||
|
if color != -1:
|
||||||
|
shell += '\x19%d}' % color
|
||||||
elif key == 'font-style':
|
elif key == 'font-style':
|
||||||
shell += '\x19i'
|
shell += '\x19i'
|
||||||
elif key == 'font-weight':
|
elif key == 'font-weight':
|
||||||
|
|
Loading…
Reference in a new issue