diff --git a/src/config.py b/src/config.py index 5f64d4739..66832a1b0 100644 --- a/src/config.py +++ b/src/config.py @@ -1389,7 +1389,7 @@ class Service_registration_window: nbrow = 0 table = self.xml.get_widget('table') for name in self.infos.keys(): - if name == 'key' or name == 'instructions' or name == 'x': + if name in ['key', 'instructions', 'x', 'registered']: continue nbrow = nbrow + 1 @@ -1412,10 +1412,15 @@ class Service_registration_window: send registration info to the core''' for name in self.entries.keys(): self.infos[name] = self.entries[name].get_text() - user1 = User(self.service, self.service, ['Transports'], 'offline', + if self.infos.has_key('instructions'): + del self.infos['instructions'] + if self.infos.has_key('registered'): + del self.infos['registered'] + else: + user1 = User(self.service, self.service, ['Transports'], 'offline', 'offline', 'from', '', '', 0, '') - self.plugin.roster.contacts[self.account][self.service] = [user1] - self.plugin.roster.add_user_to_roster(self.service, self.account) + self.plugin.roster.contacts[self.account][self.service] = [user1] + self.plugin.roster.add_user_to_roster(self.service, self.account) gajim.connections[self.account].register_agent(self.service, self.infos) self.window.destroy() diff --git a/src/roster_window.py b/src/roster_window.py index 78c6a9332..c6ca916a5 100644 --- a/src/roster_window.py +++ b/src/roster_window.py @@ -430,6 +430,10 @@ class Roster_window: '''When an agent is requested to log in or off''' gajim.connections[account].send_agent_status(jid, state) + def on_edit_agent(self, widget, user, account): + '''When we want to modify the agent registration''' + gajim.connections[account].request_register_agent_info(user.jid) + def on_remove_agent(self, widget, user, account): '''When an agent is requested to log in or off''' window = dialogs.Confirmation_dialog(_('Are you sure you want to remove %s transport from your roster?') % user.jid) @@ -534,14 +538,14 @@ class Roster_window: account = model.get_value(iter, 4) user = self.contacts[account][jid][0] menu = gtk.Menu() - item = gtk.MenuItem(_('Log on')) + item = gtk.MenuItem(_('_Log on')) show = self.contacts[account][jid][0].show if show != 'offline' and show != 'error': item.set_sensitive(False) menu.append(item) item.connect('activate', self.on_agent_logging, jid, 'available', account) - item = gtk.MenuItem(_('Log off')) + item = gtk.MenuItem(_('Log _off')) if show == 'offline' or show == 'error': item.set_sensitive(False) menu.append(item) @@ -551,7 +555,11 @@ class Roster_window: item = gtk.MenuItem() menu.append(item) - item = gtk.MenuItem(_('Remove')) + item = gtk.MenuItem(_('_Edit')) + menu.append(item) + item.connect('activate', self.on_edit_agent, user, account) + + item = gtk.MenuItem(_('_Remove')) menu.append(item) item.connect('activate', self.on_remove_agent, user, account)