changeset 66f686595381 in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=66f686595381 description: use NEC to handle register-agent-info events
diffstat:
src/common/connection.py | 4 +++- src/common/connection_handlers_events.py | 4 ++++ src/gui_interface.py | 14 +++++++------- 3 files changed, 14 insertions(+), 8 deletions(-)
diffs (66 lines):
diff -r d7a7be8def5d -r 66f686595381 src/common/connection.py --- a/src/common/connection.py Mon Nov 29 13:25:17 2010 +0300 +++ b/src/common/connection.py Mon Nov 29 11:22:27 2010 +0100 @@ -897,7 +897,9 @@ return is_form = data[2] conf = data[1] - self.dispatch('REGISTER_AGENT_INFO', (data[0], conf, is_form)) + gajim.nec.push_incoming_event(RegisterAgentInfoReceivedEvent( + None, conn=self, agent=data[0], config=conf, + is_form=is_form)) elif realm == common.xmpp.NS_PRIVACY: if event == common.xmpp.features_nb.PRIVACY_LISTS_RECEIVED: # data is (list) diff -r d7a7be8def5d -r 66f686595381 src/common/connection_handlers_events.py --- a/src/common/connection_handlers_events.py Mon Nov 29 13:25:17 2010 +0300 +++ b/src/common/connection_handlers_events.py Mon Nov 29 11:22:27 2010 +0100 @@ -1578,3 +1578,7 @@ class SignedInEvent(nec.NetworkIncomingEvent): name = 'signed-in' base_network_events = [] + +class RegisterAgentInfoReceivedEvent(nec.NetworkIncomingEvent): + name = 'register-agent-info-received' + base_network_events = [] diff -r d7a7be8def5d -r 66f686595381 src/gui_interface.py --- a/src/gui_interface.py Mon Nov 29 13:25:17 2010 +0300 +++ b/src/gui_interface.py Mon Nov 29 11:22:27 2010 +0100 @@ -546,15 +546,15 @@ notify.popup(event_type, obj.jid, account, 'unsubscribed', path, event_type, obj.jid)
- def handle_event_register_agent_info(self, account, array): + def handle_event_register_agent_info(self, obj): # ('REGISTER_AGENT_INFO', account, (agent, infos, is_form)) # info in a dataform if is_form is True - if array[2] or 'instructions' in array[1]: - config.ServiceRegistrationWindow(array[0], array[1], account, - array[2]) + if obj.is_form or 'instructions' in obj.config: + config.ServiceRegistrationWindow(obj.agent, obj.config, + obj.conn.name, obj.is_form) else: - dialogs.ErrorDialog(_('Contact with "%s" cannot be established') \ - % array[0], _('Check your connection or try again later.')) + dialogs.ErrorDialog(_('Contact with "%s" cannot be established') % \ + obj.agent, _('Check your connection or try again later.'))
def handle_event_agent_info_items(self, account, array): #('AGENT_INFO_ITEMS', account, (agent, node, items)) @@ -1388,7 +1388,6 @@ 'DB_ERROR': [self.handle_event_db_error], 'INFORMATION': [self.handle_event_information], 'MSGERROR': [self.handle_event_msgerror], - 'REGISTER_AGENT_INFO': [self.handle_event_register_agent_info], 'AGENT_INFO_ITEMS': [self.handle_event_agent_info_items], 'FILE_REQUEST': [self.handle_event_file_request], 'FILE_REQUEST_ERROR': [self.handle_event_file_request_error], @@ -1424,6 +1423,7 @@ 'password-required': [self.handle_event_password_required], 'plain-connection': [self.handle_event_plain_connection], 'presence-received': [self.handle_event_presence], + 'register-agent-info-received': [self.handle_event_register_agent_info], 'roster-info': [self.handle_event_roster_info], 'roster-item-exchange-received': \ [self.handle_event_roster_item_exchange],