Fixes #2177, and fixes chatstates a bit
This commit is contained in:
parent
c55f199143
commit
423a7d1447
2 changed files with 5 additions and 8 deletions
|
@ -951,8 +951,6 @@ class Core(object):
|
||||||
room_from = message.getMucroom()
|
room_from = message.getMucroom()
|
||||||
if message['type'] == 'error': # Check if it's an error
|
if message['type'] == 'error': # Check if it's an error
|
||||||
return self.room_error(message, from_room)
|
return self.room_error(message, from_room)
|
||||||
if nick_from == room_from:
|
|
||||||
nick_from = None
|
|
||||||
room = self.get_room_by_name(room_from)
|
room = self.get_room_by_name(room_from)
|
||||||
tab = self.get_tab_by_name(room_from, tabs.MucTab)
|
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\
|
if tab and tab.get_room() and tab.get_room().get_user_by_name(nick_from) and\
|
||||||
|
|
11
src/tabs.py
11
src/tabs.py
|
@ -306,10 +306,10 @@ class ChatTab(Tab):
|
||||||
on the the current status of the input
|
on the the current status of the input
|
||||||
"""
|
"""
|
||||||
if config.get('send_chat_states', 'true') == 'true' and self.remote_wants_chatstates:
|
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.send_chat_state("active")
|
||||||
self.cancel_paused_delay()
|
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.cancel_paused_delay()
|
||||||
self.send_chat_state("composing")
|
self.send_chat_state("composing")
|
||||||
self.set_paused_delay(True)
|
self.set_paused_delay(True)
|
||||||
|
@ -734,10 +734,6 @@ class MucTab(ChatTab):
|
||||||
if self.complete_commands(self.input):
|
if self.complete_commands(self.input):
|
||||||
return
|
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
|
# If we are not completing a command or a command's argument, complete a nick
|
||||||
compare_users = lambda x: x.last_talked
|
compare_users = lambda x: x.last_talked
|
||||||
word_list = [user.nick for user in sorted(self._room.users, key=compare_users, reverse=True)\
|
word_list = [user.nick for user in sorted(self._room.users, key=compare_users, reverse=True)\
|
||||||
|
@ -749,7 +745,10 @@ class MucTab(ChatTab):
|
||||||
else:
|
else:
|
||||||
add_after = ' '
|
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)
|
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):
|
def get_color_state(self):
|
||||||
return self._room.color_state
|
return self._room.color_state
|
||||||
|
|
Loading…
Reference in a new issue