Automated merge with http://hg.louiz.org/poezio
This commit is contained in:
commit
8d0ebdfc12
5 changed files with 23 additions and 4 deletions
12
src/core.py
12
src/core.py
|
@ -115,7 +115,7 @@ class Core(object):
|
|||
# The completion function should return True if a completion was
|
||||
# made ; False otherwise
|
||||
self.commands = {
|
||||
'help': (self.command_help, '\_o< KOIN KOIN KOIN', None),
|
||||
'help': (self.command_help, '\_o< KOIN KOIN KOIN', self.completion_help),
|
||||
'join': (self.command_join, _("Usage: /join [room_name][@server][/nick] [password]\nJoin: Join the specified room. You can specify a nickname after a slash (/). If no nickname is specified, you will use the default_nick in the configuration file. You can omit the room name: you will then join the room you\'re looking at (useful if you were kicked). You can also provide a room_name without specifying a server, the server of the room you're currently in will be used. You can also provide a password to join the room.\nExamples:\n/join room@server.tld\n/join room@server.tld/John\n/join room2\n/join /me_again\n/join\n/join room@server.tld/my_nick password\n/join / password"), self.completion_join),
|
||||
'exit': (self.command_quit, _("Usage: /exit\nExit: Just disconnect from the server and exit poezio."), None),
|
||||
'next': (self.rotate_rooms_right, _("Usage: /next\nNext: Go to the next room."), None),
|
||||
|
@ -999,10 +999,16 @@ class Core(object):
|
|||
if len(args) >= 1:
|
||||
if args[0] in list(self.commands.keys()):
|
||||
msg = self.commands[args[0]][1]
|
||||
elif args[0] in list(self.current_tab().commands.keys()):
|
||||
msg = self.current_tab().commands[args[0]][1]
|
||||
else:
|
||||
msg = _('Unknown command: %s') % args[0]
|
||||
self.information(msg)
|
||||
|
||||
def completion_help(self, the_input):
|
||||
commands = list(self.commands.keys()) + list(self.current_tab().commands.keys())
|
||||
return the_input.auto_completion(commands, ' ')
|
||||
|
||||
def command_status(self, arg):
|
||||
args = arg.split()
|
||||
if len(args) < 1:
|
||||
|
@ -1128,7 +1134,7 @@ class Core(object):
|
|||
for tab in self.tabs: # TODO, also from an history
|
||||
if isinstance(tab, tabs.MucTab) and\
|
||||
tab.get_name() not in muc_serv_list:
|
||||
muc_serv_list.append(tab.get_name())
|
||||
muc_serv_list.append(JID(tab.get_name()).server)
|
||||
if muc_serv_list:
|
||||
return the_input.auto_completion(muc_serv_list, ' ')
|
||||
|
||||
|
@ -1297,6 +1303,8 @@ class Core(object):
|
|||
tab.on_close()
|
||||
self.tabs.remove(tab)
|
||||
self.rotate_rooms_left()
|
||||
del tab.key_func # Remove self references
|
||||
del tab.commands # and make the object collectable
|
||||
del tab
|
||||
|
||||
def move_separator(self):
|
||||
|
|
|
@ -123,4 +123,3 @@ class Room(TextBuffer):
|
|||
nb = window.build_new_message(message)
|
||||
if window.pos != 0:
|
||||
window.scroll_up(nb)
|
||||
|
||||
|
|
|
@ -210,6 +210,9 @@ class Tab(object):
|
|||
"""
|
||||
pass
|
||||
|
||||
def __del__(self):
|
||||
log.debug('Closing tab %s' % self.__class__.__name__)
|
||||
|
||||
class ChatTab(Tab):
|
||||
"""
|
||||
A tab containing a chat of any type.
|
||||
|
|
|
@ -36,7 +36,7 @@ class TextBuffer(object):
|
|||
self.messages = [] # Message objects
|
||||
self.windows = [] # we keep track of one or more windows
|
||||
# so we can pass the new messages to them, as they are added, so
|
||||
# they (the windows) can built the lines from the new message
|
||||
# they (the windows) can build the lines from the new message
|
||||
|
||||
def add_window(self, win):
|
||||
self.windows.append(win)
|
||||
|
@ -55,3 +55,8 @@ class TextBuffer(object):
|
|||
if window.pos != 0:
|
||||
window.scroll_up(nb)
|
||||
|
||||
def del_window(self, win):
|
||||
self.windows.remove(win)
|
||||
|
||||
def __del__(self):
|
||||
log.debug('** Deleting %s messages from textbuffer' % (len(self.messages)))
|
||||
|
|
|
@ -638,6 +638,10 @@ class TextWin(Win):
|
|||
for message in room.messages:
|
||||
self.build_new_message(message)
|
||||
|
||||
def __del__(self):
|
||||
log.debug('** TextWin: deleting %s built lines' % (len(self.built_lines)))
|
||||
del self.built_lines
|
||||
|
||||
class HelpText(Win):
|
||||
"""
|
||||
A Window just displaying a read-only message.
|
||||
|
|
Loading…
Reference in a new issue