home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2009 June / maximum-cd-2009-06.iso / DiscContents / digsby_setup.exe / lib / gui / imwin / imwin_email.pyo (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2009-02-26  |  4.4 KB  |  104 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4. import wx
  5. from util import Delegate
  6. from gui.uberwidgets.UberButton import UberButton
  7. from gui.uberwidgets.UberBar import UberBar
  8. from gui.uberwidgets.skintextctrl import SkinTextCtrl
  9. from gui.uberwidgets.cleartext import ClearText
  10. from gui.textutil import default_font
  11. from gui.validators import LengthLimit
  12. from gui import skin
  13. from cgui import SimplePanel
  14.  
  15. class ImWinEmailPanel(SimplePanel):
  16.     
  17.     def __init__(self, parent):
  18.         SimplePanel.__init__(self, parent)
  19.         self.OnEditEmail = Delegate()
  20.         self.OnSendEmail = Delegate()
  21.         self.gui_constructed = False
  22.         self.UpdateSkin()
  23.         self.construct_gui()
  24.  
  25.     
  26.     def SetEmailClient(self, email_account):
  27.         client = None if email_account is not None else None
  28.         if client is not None:
  29.             self.send_button.Enable(True)
  30.             self.openin.Enable(True)
  31.             if client:
  32.                 label = _('Edit in %s...') % client
  33.             else:
  34.                 label = _('Edit...')
  35.             self.openin.SetLabel(label)
  36.         else:
  37.             self.send_button.Enable(False)
  38.             self.openin.Enable(False)
  39.             self.openin.SetLabel(_('Edit...'))
  40.  
  41.     
  42.     def UpdateSkin(self):
  43.         g = skin.get
  44.         self.buttonbarskin = g('SendBar.ToolBarSkin', None)
  45.         self.subjectskin = g('EmailSubjectBar.ToolBarSkin', None)
  46.         self.subjectfont = g('EmailSubjectBar.Fonts.SubjectLabel', (lambda : default_font()))
  47.         self.subjectfc = g('EmailSubjectBar.FontColors.SubjectLabel', wx.BLACK)
  48.         self.buttonbarfont = g('SendBar.Font', default_font)
  49.         self.buttonnarfc = g('SendBar.FontColor', wx.BLACK)
  50.         if self.gui_constructed:
  51.             self.subject_bar.SetSkinKey(self.subjectskin)
  52.             self.email_buttons.SetSkinKey(self.buttonbarskin)
  53.             ept = self.email_progress_text
  54.             ept.SetFont(self.buttonbarfont)
  55.             ept.SetFontColor(self.buttonnarfc)
  56.             sl = self.subject_label
  57.             sl.SetFont(self.subjectfont)
  58.             sl.SetFontColor(self.subjectfc)
  59.         
  60.  
  61.     
  62.     def construct_gui(self):
  63.         self.Sizer = wx.BoxSizer(wx.VERTICAL)
  64.         s = self.subject_bar = UberBar(self, skinkey = self.subjectskin)
  65.         self.subject_input = SkinTextCtrl(s, skinkey = ('EmailSubjectBar', 'SubjectField'), skinkey_bg = 'EmailSubjectBar.FieldBackgroundColor', validator = LengthLimit(1024))
  66.         self.subject_label = ClearText(s, _('Subject:'), alignment = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
  67.         self.subject_label.Font = self.subjectfont
  68.         self.subject_label.FontColor = self.subjectfc
  69.         s.Add(self.subject_label)
  70.         s.Add(self.subject_input, 1)
  71.         email_buttons = self.email_buttons = UberBar(self, skinkey = self.buttonbarskin)
  72.         ept = self.email_progress_text = ClearText(email_buttons, '', alignment = wx.ALIGN_CENTER_VERTICAL)
  73.         ept.SetFont(self.buttonbarfont)
  74.         ept.SetFontColor(self.buttonnarfc)
  75.         self.email_input_area = wx.TextCtrl(self, style = wx.TE_MULTILINE, validator = LengthLimit(20480))
  76.         self.openin = UberButton(email_buttons, -1, _('Edit...'), onclick = self.OnEditEmail)
  77.         self.send_button = UberButton(email_buttons, -1, _('Send'), onclick = self.OnSendEmail)
  78.         email_buttons.Add(ept)
  79.         email_buttons.Add(wx.Size(1, 1), 1)
  80.         email_buttons.Add(self.openin)
  81.         email_buttons.Add(self.send_button)
  82.         self.email_input_area.MoveAfterInTabOrder(self.subject_bar)
  83.         s = self.Sizer
  84.         s.AddMany([
  85.             (self.subject_bar, 0, wx.EXPAND),
  86.             (self.email_input_area, 1, wx.EXPAND),
  87.             (self.email_buttons, 0, wx.EXPAND)])
  88.         self.gui_constructed = True
  89.  
  90.     
  91.     def Clear(self):
  92.         self.subject_input.Clear()
  93.         self.email_input_area.Clear()
  94.  
  95.     
  96.     def SetStatusMessage(self, msg):
  97.         self.email_progress_text.SetLabel(msg)
  98.  
  99.     
  100.     def EnableSendButton(self, enabled):
  101.         self.send_button.Enable(enabled)
  102.  
  103.  
  104.