diff options
author | Florent Le Coz <louiz@louiz.org> | 2011-05-04 22:52:24 +0200 |
---|---|---|
committer | Florent Le Coz <louiz@louiz.org> | 2011-05-04 22:52:24 +0200 |
commit | c784deea9c6a3a2d19a6bfe56d2eae92e9c901f5 (patch) | |
tree | bbc380be81733c75e23a9f1627cf68c970b40379 /src | |
parent | eaf9af6b2d697e497884fa22fe135e0dcf43854c (diff) | |
parent | 0029f4708276699ec656280b5731278e16c2add2 (diff) | |
download | poezio-c784deea9c6a3a2d19a6bfe56d2eae92e9c901f5.tar.gz poezio-c784deea9c6a3a2d19a6bfe56d2eae92e9c901f5.tar.bz2 poezio-c784deea9c6a3a2d19a6bfe56d2eae92e9c901f5.tar.xz poezio-c784deea9c6a3a2d19a6bfe56d2eae92e9c901f5.zip |
Fix the paused status that was sent on /part and other inapropriate situations
Diffstat (limited to 'src')
-rw-r--r-- | src/tabs.py | 8 | ||||
-rw-r--r-- | src/xhtml.py | 4 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/tabs.py b/src/tabs.py index a1944b9c..af468d8c 100644 --- a/src/tabs.py +++ b/src/tabs.py @@ -287,6 +287,7 @@ class ChatTab(Tab): if txt.startswith('//'): txt = txt[1:] self.command_say(txt) + self.cancel_paused_delay() def send_chat_state(self, state): """ @@ -305,6 +306,7 @@ class ChatTab(Tab): if config.get('send_chat_states', 'true') == 'true' and self.remote_wants_chatstates: if not empty_before and empty_after: self.send_chat_state("active") + self.cancel_paused_delay() elif (empty_before or (self.timed_event_paused is not None and not self.timed_event_paused())) and not empty_after: self.send_chat_state("composing") @@ -1483,22 +1485,22 @@ class ConversationTab(ChatTab): self.input.do_command(key) empty_after = self.input.get_text() == '' or (self.input.get_text().startswith('/') and not self.input.get_text().startswith('//')) self.send_composing_chat_state(empty_before, empty_after) + self.set_paused_delay(empty_before and not empty_after) if not empty_before and empty_after: self.cancel_paused_delay() - self.set_paused_delay(empty_before and not empty_after) return False def on_lose_focus(self): self.set_color_state(theme.COLOR_TAB_NORMAL) self.text_win.remove_line_separator() self.text_win.add_line_separator() - if config.get('send_chat_states', 'true') == 'true' and not self.input.get_text(): + if config.get('send_chat_states', 'true') == 'true' and not self.input.get_text() or not self.input.get_text().startswith('//'): self.send_chat_state('inactive') def on_gain_focus(self): self.set_color_state(theme.COLOR_TAB_CURRENT) curses.curs_set(1) - if config.get('send_chat_states', 'true') == 'true' and not self.input.get_text(): + if config.get('send_chat_states', 'true') == 'true' and not self.input.get_text() or not self.input.get_text().startswith('//'): self.send_chat_state('active') def on_scroll_up(self): diff --git a/src/xhtml.py b/src/xhtml.py index fee5a118..954db374 100644 --- a/src/xhtml.py +++ b/src/xhtml.py @@ -27,6 +27,7 @@ import re import subprocess from sleekxmpp.xmlstream import ET from xml.etree.ElementTree import ElementTree +from sys import version_info from config import config import logging @@ -82,8 +83,11 @@ def convert_links_to_plaintext(text): parent.text += link_text parent.remove(child) previous_child = child + if version_info.minor <= 1: + return ET.tostring(xml.getroot()) return ET.tostring(xml.getroot(), encoding=str) + def clean_text(string): """ Remove all \x19 from the string |