Allow nick completion in the Private tabs as well.
This commit is contained in:
parent
dc8b39709f
commit
51c788ad96
1 changed files with 22 additions and 3 deletions
25
src/tabs.py
25
src/tabs.py
|
@ -8,9 +8,9 @@
|
|||
"""
|
||||
a Tab object is a way to organize various Windows (see windows.py)
|
||||
around the screen at once.
|
||||
A tab is then composed of multiple Buffer.
|
||||
A tab is then composed of multiple Buffers.
|
||||
Each Tab object has different refresh() and resize() methods, defining how its
|
||||
Windows are displayed, resized, etc
|
||||
Windows are displayed, resized, etc.
|
||||
"""
|
||||
|
||||
MIN_WIDTH = 42
|
||||
|
@ -1566,7 +1566,26 @@ class PrivateTab(ChatTab):
|
|||
self.parent_muc.privates.remove(self)
|
||||
|
||||
def completion(self):
|
||||
self.complete_commands(self.input)
|
||||
"""
|
||||
Called when Tab is pressed, complete the nickname in the input
|
||||
"""
|
||||
if self.complete_commands(self.input):
|
||||
return
|
||||
|
||||
# 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.parent_muc.users, key=compare_users, reverse=True)\
|
||||
if user.nick != self.own_nick]
|
||||
after = config.get('after_completion', ',')+" "
|
||||
input_pos = self.input.pos + self.input.line_pos
|
||||
if ' ' not in self.input.get_text()[:input_pos] or (self.input.last_completion and\
|
||||
self.input.get_text()[:input_pos] == self.input.last_completion + after):
|
||||
add_after = after
|
||||
else:
|
||||
add_after = ''
|
||||
self.input.auto_completion(word_list, add_after, quotify=False)
|
||||
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_after)
|
||||
|
||||
def command_say(self, line, attention=False):
|
||||
if not self.on:
|
||||
|
|
Loading…
Reference in a new issue