Add /add in conversation tabs.

This is a quick shortcut to add someone to your roster when talking
with them.

Fixes #3313.

Also fixes typos.
This commit is contained in:
Emmanuel Gil Peyrot 2017-05-15 23:09:27 +01:00
parent c66c5a6e27
commit 83e28a2be8
2 changed files with 21 additions and 3 deletions

View file

@ -61,6 +61,11 @@ class ConversationTab(OneToOneTab):
desc='Get the last activity of the given or the current contact.',
shortdesc='Get the activity.',
completion=self.core.completion.last_activity)
self.register_command('add', self.command_add,
desc='Add the current JID to your roster, ask them to'
' allow you to see his presence, and allow them to'
' see your presence.',
shortdesc='Add a user to your roster.')
self.resize()
self.update_commands()
self.update_keys()
@ -224,6 +229,19 @@ class ConversationTab(OneToOneTab):
fixes.get_version(self.core.xmpp, jid,
callback=callback)
@command_args_parser.ignored
def command_add(self):
"""
Add the current JID to the roster, and automatically
accept the reverse subscription
"""
jid = self.general_jid
if jid in roster and roster[jid].subscription in ('to', 'both'):
return self.core.information('Already subscribed.', 'Roster')
roster.add(jid)
roster.modified()
self.core.information('%s was added to the roster' % jid, 'Roster')
def resize(self):
self.need_resize = False
if self.size.tab_degrade_y:

View file

@ -82,8 +82,8 @@ class RosterInfoTab(Tab):
completion=self.completion_deny)
self.register_command('add', self.command_add,
usage='<jid>',
desc='Add the specified JID to your roster, ask him to'
' allow you to see his presence, and allow him to'
desc='Add the specified JID to your roster, ask them to'
' allow you to see his presence, and allow them to'
' see your presence.',
shortdesc='Add a user to your roster.')
self.register_command('name', self.command_name,
@ -618,7 +618,7 @@ class RosterInfoTab(Tab):
@command_args_parser.quoted(1)
def command_add(self, args):
"""
Add the specified JID to the roster, and set automatically
Add the specified JID to the roster, and automatically
accept the reverse subscription
"""
if args is None: