diff --git a/gajim-remote.1 b/gajim-remote.1 index 22063a02adfc49c28dc461af53e92656d198c963..8b13ff1a84a70be54ca19ba56836dbe79170ab2a 100644 --- a/gajim-remote.1 +++ b/gajim-remote.1 @@ -3,7 +3,7 @@ .SH "NAME" Gajim-remote .SH "SYNOPSIS" -.B gajim-remote [help] [toggle_roster_appearance] [show_next_unread] [list_contacts] [list_accounts] [change_status] [open_chat] [send_message] [send_file] [contact_info] [account_info] [send_file] [prefs_list] [prefs_put] [prefs_del] [prefs_store] [remove_contact] [add_contact] [get_status] [get_status_message] [get_unread_msgs_number] +.B gajim-remote [help] [toggle_roster_appearance] [show_next_unread] [list_contacts] [list_accounts] [change_status] [open_chat] [send_message] [send_file] [contact_info] [account_info] [send_file] [prefs_list] [prefs_put] [prefs_del] [prefs_store] [remove_contact] [add_contact] [get_status] [get_status_message] [get_unread_msgs_number] [start_chat] .SH "DESCRIPTION" .B Gajim-remote is a script to control Gajim by D-Bus diff --git a/src/gajim-remote.py b/src/gajim-remote.py index 48365c4c072e327e2adf921d8925d4b64ed2ae81..0f3b4c2430d20b02ad8f94f202cbd375bbc7d030 100755 --- a/src/gajim-remote.py +++ b/src/gajim-remote.py @@ -216,6 +216,12 @@ class GajimRemote: _('Returns number of unreaded messages'), [ ] ], + 'start_chat': [ + _('Open \'Start Chat\' dialog'), + [ + (_('account'), _('Starts chat, using this account'), True) + ] + ], } if self.argv_len < 2 or \ sys.argv[1] not in self.commands.keys(): # no args or bad args @@ -246,7 +252,7 @@ class GajimRemote: def print_result(self, res): ''' Print retrieved result to the output ''' if res is not None: - if self.command in ('open_chat', 'send_message'): + if self.command in ('open_chat', 'send_message', 'start_chat'): if self.command == 'send_message': self.argv_len -= 2 diff --git a/src/remote_control.py b/src/remote_control.py index 366f14c858c286f8f9bd66ec25dda6ac4fc83981..e455db362871bcb45332478d84026d0b12500b83 100644 --- a/src/remote_control.py +++ b/src/remote_control.py @@ -32,7 +32,7 @@ from common import gajim from common import helpers from time import time from common import i18n -from dialogs import AddNewContactWindow +from dialogs import AddNewContactWindow, NewChatDialog _ = i18n._ import dbus_support @@ -171,6 +171,7 @@ class SignalObject(DbusPrototype): self.remove_contact, self.get_status, self.get_status_message, + self.start_chat, ]) def raise_signal(self, signal, arg): @@ -546,6 +547,14 @@ class SignalObject(DbusPrototype): def get_unread_msgs_number(self, *args): return str(gajim.interface.roster.nb_unread) + def start_chat(self, *args): + [account] = self._get_real_arguments(args, 1) + if not account: + # error is shown in gajim-remote check_arguments(..) + return None + NewChatDialog(account) + return True + if dbus_support.version[1] >= 30 and dbus_support.version[1] <= 40: method = dbus.method signal = dbus.signal @@ -575,3 +584,4 @@ class SignalObject(DbusPrototype): get_status_message = method(INTERFACE)(get_status_message) account_info = method(INTERFACE)(account_info) get_unread_msgs_number = method(INTERFACE)(get_unread_msgs_number) + start_chat = method(INTERFACE)(start_chat)