Fixes #2177, and fixes chatstates a bit

This commit is contained in:
mathieui 2011-05-14 15:45:30 +02:00
parent c55f199143
commit 423a7d1447
2 changed files with 5 additions and 8 deletions

View file

@ -951,8 +951,6 @@ class Core(object):
room_from = message.getMucroom()
if message['type'] == 'error': # Check if it's an error
return self.room_error(message, from_room)
if nick_from == room_from:
nick_from = None
room = self.get_room_by_name(room_from)
tab = self.get_tab_by_name(room_from, tabs.MucTab)
if tab and tab.get_room() and tab.get_room().get_user_by_name(nick_from) and\

View file

@ -306,10 +306,10 @@ class ChatTab(Tab):
on the the current status of the input
"""
if config.get('send_chat_states', 'true') == 'true' and self.remote_wants_chatstates:
if not empty_before and empty_after:
if 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())):
elif empty_before or (self.timed_event_paused is not None and not self.timed_event_paused()):
self.cancel_paused_delay()
self.send_chat_state("composing")
self.set_paused_delay(True)
@ -734,10 +734,6 @@ class MucTab(ChatTab):
if self.complete_commands(self.input):
return
empty_before = self.input.get_text() == '' or (self.input.get_text().startswith('/') and not self.input.get_text().startswith('//'))
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)
# If we are not completing a command or a command's argument, complete a nick
compare_users = lambda x: x.last_talked
word_list = [user.nick for user in sorted(self._room.users, key=compare_users, reverse=True)\
@ -749,7 +745,10 @@ class MucTab(ChatTab):
else:
add_after = ' '
empty_before = self.input.get_text() == '' or (self.input.get_text().startswith('/') and not self.input.get_text().startswith('//'))
self.input.auto_completion(word_list, add_after)
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)
def get_color_state(self):
return self._room.color_state