home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 October / maximum-cd-2011-10.iso / DiscContents / digsby_setup.exe / lib / plugins / msim / myspacegui / privacy.pyo (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2011-06-22  |  3.7 KB  |  86 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.6)
  3.  
  4. import wx
  5. import gui
  6. import gui.uberwidgets as widgets
  7. import gui.pref.prefcontrols as prefcontrols
  8. import gui.pref.pg_privacy as pg_privacy
  9.  
  10. class MSIMPrivacyPanel(pg_privacy.AcctPrivacyPanel):
  11.     RB_OPTIONS = [
  12.         (_('Everyone'), 0),
  13.         (_('Only people on my contact list'), 1),
  14.         (_('No one'), 2)]
  15.     
  16.     def __init__(self, *a, **k):
  17.         pg_privacy.AcctPrivacyPanel.__init__(self, *a, **k)
  18.         self.build_panel()
  19.         self.acct_changed()
  20.         wx.CallAfter(self.acct_changed)
  21.  
  22.     
  23.     def acct_changed(self, *a):
  24.         conn = self.acct.connection
  25.         if conn is not None and conn.self_buddy is not None:
  26.             self.status_priv_chk.Value = conn.self_buddy.ShowOnlyToList == 'True'
  27.             priv_mode_s = conn.self_buddy.PrivacyMode
  28.             
  29.             try:
  30.                 priv_mode = int(priv_mode_s)
  31.             except Exception:
  32.                 priv_mode = 655361
  33.  
  34.             self.message_priv_chk.Value = bool(priv_mode & 1)
  35.             offline_pref = conn.self_buddy.OfflineMessageMode
  36.             
  37.             try:
  38.                 offline_pref = int(offline_pref)
  39.             except Exception:
  40.                 offline_pref = 0
  41.  
  42.             self.opts_rbs[offline_pref].Value = True
  43.         
  44.         pg_privacy.AcctPrivacyPanel.acct_changed(self)
  45.  
  46.     
  47.     def build_panel(self):
  48.         pg_privacy.AcctPrivacyPanel.build_panel(self)
  49.         sz = prefcontrols.VSizer()
  50.         status_priv_chk = wx.CheckBox(self, -1, _('Only people on my contact list can see my status'))
  51.         status_priv_chk.Bind(wx.EVT_CHECKBOX, self.status_priv_changed)
  52.         self.status_priv_chk = status_priv_chk
  53.         message_priv_chk = wx.CheckBox(self, -1, _('Only people on my contact list can send me messages'))
  54.         message_priv_chk.Bind(wx.EVT_CHECKBOX, self.message_priv_changed)
  55.         self.message_priv_chk = message_priv_chk
  56.         self.opts_rbs = opts_rbs = []
  57.         offline_radios = widgets.PrefPanel.PrefPanel(self, widgets.PrefPanel.PrefCollection(wx.StaticText(self, -1, _("When I'm offline, receive and store messages from:")), layout = prefcontrols.VSizer(), itemoptions = (0, wx.BOTTOM, 6), *pg_privacy.CheckVList(self, opts_rbs, self.RB_OPTIONS, self.offline_changed)), _('Offline Messages'))
  58.         sz.Add(widgets.PrefPanel.PrefPanel(self, widgets.PrefPanel.PrefCollection(status_priv_chk, message_priv_chk, itemoptions = (0, wx.BOTTOM, 6), layout = prefcontrols.VSizer()), _('Privacy')), 0, wx.EXPAND | wx.ALL, 3)
  59.         sz.Add(offline_radios, 0, wx.EXPAND | wx.ALL, 3)
  60.         self.online_components = sz
  61.  
  62.     
  63.     def status_priv_changed(self, e):
  64.         conn = self.acct.connection
  65.         if conn is None:
  66.             return None
  67.         conn.edit_privacy_list(presence_vis = int(e.Checked))
  68.         conn.set_userpref(ShowOnlyToList = str(bool(e.Checked)))
  69.  
  70.     
  71.     def message_priv_changed(self, e):
  72.         conn = self.acct.connection
  73.         if conn is None:
  74.             return None
  75.         conn.edit_privacy_list(contact_vis = int(e.Checked))
  76.         conn.set_userpref(PrivacyMode = str(655360 | int(e.Checked)))
  77.  
  78.     
  79.     def offline_changed(self, who_can_send):
  80.         conn = self.acct.connection
  81.         if conn is None:
  82.             return None
  83.         conn.set_userpref(OfflineMessageMode = str(who_can_send))
  84.  
  85.  
  86.