Mercurial > libervia-backend
diff frontends/wix/gateways.py @ 37:a61beb21d16d
Gateway registration, unregistration & edition
- default values added in form
- DBus bridge: fixed array of struct management when adding dynamically a method
- fixed doc for some methods
- ugly fix for presence status
- added dependency for XEP-0077 in XEP-0100 plugin
- Wix: added unregister button in gateways manager
- Wix: added privacy warning in gateways manager
author | Goffi <goffi@goffi.org> |
---|---|
date | Tue, 15 Dec 2009 01:27:32 +1100 |
parents | c45deebb40a5 |
children | 2e3411a6baad |
line wrap: on
line diff
--- a/frontends/wix/gateways.py Mon Dec 14 02:11:05 2009 +1100 +++ b/frontends/wix/gateways.py Tue Dec 15 01:27:32 2009 +1100 @@ -27,6 +27,8 @@ from logging import debug, info, error from tools.jid import JID +WARNING_MSG = u"""Be careful ! Gateways allow you to use an external IM (legacy IM), so you can see your contact as jabber contacts. +But when you do this, all your messages go throught the external legacy IM server, it is a huge privacy issue (i.e.: all your messages throught the gateway can be monitored, recorded, analyzed by the external server, most of time a private company).""" class GatewaysManager(wx.Frame): def __init__(self, host, gateways, title="Gateways manager"): @@ -44,8 +46,14 @@ self.ctl_list = {} # usefull to access ctrl, key = (name, category) self.sizer = wx.BoxSizer(wx.VERTICAL) + warning = wx.TextCtrl(self, -1, value=WARNING_MSG, style = wx.TE_MULTILINE | + wx.TE_READONLY | + wx.TE_LEFT) + warning.SetFont(self.bold_font) + self.sizer.Add(warning, 0, wx.EXPAND) + warning.ShowPosition(0) self.panel = wx.Panel(self) - self.panel.sizer = wx.FlexGridSizer(cols=4) + self.panel.sizer = wx.FlexGridSizer(cols=5) self.panel.SetSizer(self.panel.sizer) self.panel.SetAutoLayout(True) self.sizer.Add(self.panel, 1, flag=wx.EXPAND) @@ -64,12 +72,14 @@ self.panel.sizer.Add(title_name) self.panel.sizer.Add(title_type) self.panel.sizer.Add(wx.Window(self.panel, -1)) + self.panel.sizer.Add(wx.Window(self.panel, -1)) for gateway in gateways: self.addGateway(gateway, gateways[gateway]) - self.panel.sizer.Fit(self) + #self.panel.sizer.Fit(self) + self.sizer.Fit(self) self.Show() @@ -121,24 +131,40 @@ id = self.host.bridge.in_band_register(gateway_jid) self.host.current_action_ids.add(id) print "register id:",id + self.MakeModal(False) + self.Destroy() event.Skip() + def unregister_cb(event): + """Called when unregister button is clicked""" + gateway_jid = event.GetEventObject().gateway_jid + id = self.host.bridge.gatewayRegister("CANCEL",gateway_jid, None) + self.host.current_action_ids.add(id) + print "unregister id:",id + self.MakeModal(False) + self.Destroy() + event.Skip() + button_font = wx.Font(6, wx.DEFAULT, wx.NORMAL, wx.BOLD) reg_button = wx.Button(self.panel, -1, "Register", size=wx.Size(-1, 8)) reg_button.SetFont(button_font) reg_button.gateway_jid = JID(gateway) self.panel.Bind(wx.EVT_BUTTON, register_cb, reg_button) - + unreg_button = wx.Button(self.panel, -1, "Unregister", size=wx.Size(-1, 8)) + unreg_button.SetFont(button_font) + unreg_button.gateway_jid = JID(gateway) + self.panel.Bind(wx.EVT_BUTTON, unregister_cb, unreg_button) + self.panel.sizer.Add(im_icon) self.panel.sizer.Add(label) self.panel.sizer.Add(type_label) self.panel.sizer.Add(reg_button, 1, wx.EXPAND) + self.panel.sizer.Add(unreg_button, 1, wx.EXPAND) def onClose(self, event): """Close event""" debug("close") - #now we save the modifier params self.MakeModal(False) event.Skip()