diff --git a/src/common/connection_handlers.py b/src/common/connection_handlers.py index 545f57e63..7ee587773 100644 --- a/src/common/connection_handlers.py +++ b/src/common/connection_handlers.py @@ -731,12 +731,12 @@ class ConnectionVcard: form_tag = conf.getTag('x', namespace=common.xmpp.NS_DATA) if form_tag: form = common.dataforms.ExtendForm(node=form_tag) - self.dispatch('PEP_CONFIG', (node, form)) + gajim.nec.push_incoming_event(PEPConfigReceivedEvent(None, + conn=self.conn, node=node, form=form)) elif self.awaiting_answers[id_][0] == ARCHIVING_COLLECTIONS_ARRIVED: # TODO print 'ARCHIVING_COLLECTIONS_ARRIVED' - pass elif self.awaiting_answers[id_][0] == ARCHIVING_COLLECTION_ARRIVED: def save_if_not_exists(with_, nick, direction, tim, payload): diff --git a/src/common/connection_handlers_events.py b/src/common/connection_handlers_events.py index 4eea65bf2..161d6b838 100644 --- a/src/common/connection_handlers_events.py +++ b/src/common/connection_handlers_events.py @@ -1519,3 +1519,7 @@ class VcardReceivedEvent(nec.NetworkIncomingEvent): if self.resource: self.fjid += '/' + self.resource return True + +class PEPConfigReceivedEvent(nec.NetworkIncomingEvent): + name = 'pep-config-received' + base_network_events = [] \ No newline at end of file diff --git a/src/config.py b/src/config.py index 8b13c5d1e..5c7c14ab4 100644 --- a/src/config.py +++ b/src/config.py @@ -3940,11 +3940,17 @@ class ManagePEPServicesWindow: self.init_services() self.xml.get_object('services_treeview').get_selection().connect( 'changed', self.on_services_selection_changed) + + gajim.ged.register_event_handler('pep-config-received', ged.GUI1, + self._nec_pep_config_received) + self.window.show_all() def on_manage_pep_services_window_destroy(self, widget): '''close window''' del gajim.interface.instances[self.account]['pep_services'] + gajim.ged.remove_event_handler('pep-config-received', ged.GUI1, + self._nec_pep_config_received) def on_close_button_clicked(self, widget): self.window.destroy() @@ -4012,13 +4018,13 @@ class ManagePEPServicesWindow: our_jid = gajim.get_jid_from_account(self.account) gajim.connections[self.account].request_pb_configuration(our_jid, node) - def config(self, node, form): + def _nec_pep_config_received(self, obj): def on_ok(form, node): form.type = 'submit' our_jid = gajim.get_jid_from_account(self.account) gajim.connections[self.account].send_pb_configure(our_jid, node, form) - window = dialogs.DataFormWindow(form, (on_ok, node)) - title = "Configure %s" % node + window = dialogs.DataFormWindow(obj.form, (on_ok, obj.node)) + title = _('Configure %s') % obj.node window.set_title(title) window.show_all() diff --git a/src/gui_interface.py b/src/gui_interface.py index 09878bd88..11f316bd5 100644 --- a/src/gui_interface.py +++ b/src/gui_interface.py @@ -1428,7 +1428,6 @@ class Interface: 'METACONTACTS': [self.handle_event_metacontacts], 'FAILED_DECRYPT': [self.handle_event_failed_decrypt], 'ZC_NAME_CONFLICT': [self.handle_event_zc_name_conflict], - 'PEP_CONFIG': [self.handle_event_pep_config], 'PASSWORD_REQUIRED': [self.handle_event_password_required], 'atom-entry-received': [self.handle_atom_entry], 'bad-gpg-passphrase': [self.handle_event_bad_gpg_passphrase],