class ZBlogMediaStoragePrefSubPage(ZMediaStoragePrefSubPage): def __init__(self, parent, session): ZMediaStoragePrefSubPage.__init__(self, parent, session) # end __init__() def _createWidgets(self): self.overrideCB = wx.CheckBox( self, wx.ID_ANY, _extstr(u"storesubpage.OverrideAccountMediaStorageSetting" )) #$NON-NLS-1$ self.panel = ZTransparentPanel(self, wx.ID_ANY) self._createStoreWidgets(self.panel) # end _createWidgets() def _bindWidgetEvents(self): ZMediaStoragePrefSubPage._bindWidgetEvents(self) self.Bind(wx.EVT_CHECKBOX, self.onOverrideCB, self.overrideCB) # end _bindWidgetEvents() def _populateWidgets(self): override = self._getSession().isOverrideMediaStorage() self.overrideCB.SetValue(override) self.panel.Enable(override) ZMediaStoragePrefSubPage._populateWidgets(self) # end _populateWidgets() def _layoutWidgets(self): panelBox = self._createStoreLayout() self.panel.SetSizer(panelBox) self.panel.SetAutoLayout(True) box = wx.BoxSizer(wx.VERTICAL) box.Add(self.overrideCB, 0, wx.TOP | wx.LEFT, 5) box.Add(self.panel, 1, wx.EXPAND | wx.ALL, 5) self.SetAutoLayout(True) self.SetSizer(box) self.Layout() # end layoutWidgets() def onOverrideCB(self, event): override = event.IsChecked() self.panel.Enable(override) self._getSession().setOverrideMediaStorage(override) event.Skip()
class ZTagSitesPrefSubPage(ZAccountPrefsSubPage): def __init__(self, parent, session): ZAccountPrefsSubPage.__init__(self, parent, session) # end __init__() def _createWidgets(self): self.overrideCB = wx.CheckBox(self, wx.ID_ANY, self._getOverrideTagSitesLabel()) self.panel = ZTransparentPanel(self, wx.ID_ANY) self.staticBox = wx.StaticBox( self.panel, wx.ID_ANY, _extstr(u"tagsubpage.TagSites")) #$NON-NLS-1$ self.contentProvider = ZTagspaceListContentProvider() self.tagSites = ZCheckBoxListViewWithButtons(self.contentProvider, self.panel, wx.ID_ANY) # end _createWidgets() def _getOverrideTagSitesLabel(self): return _extstr(u"tagsubpage.OverrideGlobalTagSettings") #$NON-NLS-1$ # end _getOverrideTagSitesLabel() def _bindWidgetEvents(self): self.Bind(wx.EVT_CHECKBOX, self.onOverrideCB, self.overrideCB) self.Bind(ZEVT_CHECKBOX_LIST_CHANGE, self.onCheckListChange, self.tagSites) # end _bindWidgetEvents() def _populateWidgets(self): override = self._getSession().isOverrideTagSites() self.overrideCB.SetValue(override) self.panel.Enable(override) self.contentProvider.setSelectedTagSpaceUrls( self._getSession().getSelectedTagSites()) self.tagSites.refresh() # end _populateWidgets() def _layoutWidgets(self): sbSizer = wx.StaticBoxSizer(self.staticBox, wx.VERTICAL) sbSizer.Add(self.tagSites, 1, wx.EXPAND | wx.ALL, 8) self.panel.SetSizer(sbSizer) self.panel.SetAutoLayout(True) box = wx.BoxSizer(wx.VERTICAL) box.Add(self.overrideCB, 0, wx.ALL | wx.EXPAND, 5) box.Add(self.panel, 1, wx.ALL | wx.EXPAND, 5) self.SetAutoLayout(True) self.SetSizer(box) self.Layout() # end layoutWidgets() def onOverrideCB(self, event): override = event.IsChecked() self._getSession().setOverrideTagSites(override) if override: sites = self.contentProvider.getSelectedTagSpaceUrls() self._getSession().setSelectedTagSites(sites) self._populateWidgets() event.Skip() # end onOverrideCB() def onCheckListChange(self, event): if self.overrideCB.IsChecked(): sites = self.contentProvider.getSelectedTagSpaceUrls() self._getSession().setSelectedTagSites(sites) event.Skip()
class ZPublishingPrefSubPage(ZAccountPrefsSubPage): def __init__(self, parent, session): ZAccountPrefsSubPage.__init__(self, parent, session) # end __init__() def _createWidgets(self): self.overrideCB = wx.CheckBox(self, wx.ID_ANY, self._getOverrideLabel()) self.panel = ZTransparentPanel(self, wx.ID_ANY) self.pubOptionsStaticBox = wx.StaticBox( self.panel, wx.ID_ANY, _extstr(u"pubsubpage.PublishingOptions")) #$NON-NLS-1$ self.poweredByCB = wx.CheckBox( self.panel, wx.ID_ANY, _extstr(u"pubsubpage.AddPoweredByZoundry")) #$NON-NLS-1$ self.removeNewLinesCB = wx.CheckBox( self.panel, wx.ID_ANY, _extstr(u"pubsubpage.RemoveNewLines")) #$NON-NLS-1$ self.imageUploadStaticBox = wx.StaticBox( self.panel, wx.ID_ANY, _extstr(u"pubsubpage.ImageUpload")) #$NON-NLS-1$ self.tnsOnlyCB = wx.CheckBox( self.panel, wx.ID_ANY, _extstr(u"pubsubpage.UploadTNsOnly")) #$NON-NLS-1$ self.forceUploadCB = wx.CheckBox( self.panel, wx.ID_ANY, _extstr(u"pubsubpage.ReUploadImages")) #$NON-NLS-1$ self.lightboxCB = wx.CheckBox( self.panel, wx.ID_ANY, _extstr(u"pubsubpage.AddLightbox")) #$NON-NLS-1$ # end _createWidgets() def _getOverrideLabel(self): return _extstr(u"pubsubpage.OverridePublishingSettings") #$NON-NLS-1$ # end _getOverrideLabel() def _bindWidgetEvents(self): self.Bind(wx.EVT_CHECKBOX, self.onOverrideCB, self.overrideCB) self.Bind(wx.EVT_CHECKBOX, self.onPoweredByCB, self.poweredByCB) self.Bind(wx.EVT_CHECKBOX, self.onRemoveNewLinesCB, self.removeNewLinesCB) self.Bind(wx.EVT_CHECKBOX, self.onTnsOnlyCB, self.tnsOnlyCB) self.Bind(wx.EVT_CHECKBOX, self.onForceUploadCB, self.forceUploadCB) self.Bind(wx.EVT_CHECKBOX, self.onLightboxCB, self.lightboxCB) # end _bindWidgetEvents() def _populateWidgets(self): override = self._getSession().isOverridePublishingSettings() self.overrideCB.SetValue(override) self.panel.Enable(override) self.poweredByCB.SetValue(self._getSession().isAddPoweredByZoundry()) self.removeNewLinesCB.SetValue(self._getSession().isRemoveNewLines()) self.tnsOnlyCB.SetValue(self._getSession().isUploadThumbnailsOnly()) self.forceUploadCB.SetValue(self._getSession().isForceReupload()) self.lightboxCB.SetValue(self._getSession().isAddLightbox()) # end _populateWidgets() def _layoutWidgets(self): panelBox = wx.BoxSizer(wx.VERTICAL) # pub options sbSizer = wx.StaticBoxSizer(self.pubOptionsStaticBox, wx.VERTICAL) internalBox = wx.BoxSizer(wx.VERTICAL) internalBox.Add(self.poweredByCB, 0, wx.EXPAND | wx.ALL, 2) internalBox.Add(self.removeNewLinesCB, 0, wx.EXPAND | wx.ALL, 2) sbSizer.AddSizer(internalBox, 0, wx.EXPAND | wx.ALL, 8) panelBox.Add(sbSizer, 0) # image upload sbSizer = wx.StaticBoxSizer(self.imageUploadStaticBox, wx.VERTICAL) internalBox = wx.BoxSizer(wx.VERTICAL) internalBox.Add(self.tnsOnlyCB, 0, wx.EXPAND | wx.ALL, 2) internalBox.Add(self.forceUploadCB, 0, wx.EXPAND | wx.ALL, 2) internalBox.Add(self.lightboxCB, 0, wx.EXPAND | wx.ALL, 2) sbSizer.AddSizer(internalBox, 0, wx.EXPAND | wx.ALL, 8) panelBox.Add(sbSizer, 0, wx.TOP, 8) self.panel.SetSizer(panelBox) self.panel.SetAutoLayout(True) box = wx.BoxSizer(wx.VERTICAL) box.Add(self.overrideCB, 0, wx.ALL, 5) box.Add(self.panel, 0, wx.ALL, 5) self.SetAutoLayout(True) self.SetSizer(box) self.Layout() # end layoutWidgets() def onOverrideCB(self, event): override = event.IsChecked() self._getSession().setOverridePublishingSettings(override) if override: self._getSession().setAddPoweredByZoundry( self.poweredByCB.IsChecked()) self._getSession().setRemoveNewLines( self.removeNewLinesCB.IsChecked()) self._getSession().setUploadThumbnailsOnly( self.tnsOnlyCB.IsChecked()) self._getSession().setForceReupload(self.forceUploadCB.IsChecked()) self._getSession().setAddLightbox(self.lightboxCB.IsChecked()) self._populateWidgets() event.Skip() # end onOverrideCB() def onPoweredByCB(self, event): self._getSession().setAddPoweredByZoundry(event.IsChecked()) event.Skip() # end onPoweredByCB() def onRemoveNewLinesCB(self, event): self._getSession().setRemoveNewLines(event.IsChecked()) event.Skip() # end onRemoveNewLinesCB() def onTnsOnlyCB(self, event): self._getSession().setUploadThumbnailsOnly(event.IsChecked()) event.Skip() # end onTnsOnlyCB() def onForceUploadCB(self, event): self._getSession().setForceReupload(event.IsChecked()) event.Skip() # end onForceUploadCB() def onLightboxCB(self, event): self._getSession().setAddLightbox(event.IsChecked()) event.Skip()
class ZProxyPreferencePage(ZApplicationPreferencesPrefPage): def __init__(self, parent): ZApplicationPreferencesPrefPage.__init__(self, parent) # end __init__() def createWidgets(self): self.staticBox = wx.StaticBox(self, wx.ID_ANY, _extstr(u"prefpage.general.proxy.name")) #$NON-NLS-1$ self.enableCB = wx.CheckBox(self, wx.ID_ANY, _extstr(u"prefpage.general.proxy.enable")) #$NON-NLS-1$ self.controlsPanel = ZTransparentPanel(self, wx.ID_ANY) self.hostLabel = wx.StaticText(self.controlsPanel, wx.ID_ANY, _extstr(u"prefpage.general.proxy.host")) #$NON-NLS-1$ self.hostTxt = wx.TextCtrl(self.controlsPanel, wx.ID_ANY) self.portLabel = wx.StaticText(self.controlsPanel, wx.ID_ANY, _extstr(u"prefpage.general.proxy.port")) #$NON-NLS-1$ flags = ZIntegerSelectionValidator.ALLOW_EMPTY | ZIntegerSelectionValidator.POSITIVE_ONLY self.portTxt = ZValidatingTextCtrl(ZIntegerSelectionValidator(flags=flags), self.controlsPanel, wx.ID_ANY) self.usernameLabel = wx.StaticText(self.controlsPanel, wx.ID_ANY, _extstr(u"prefpage.general.proxy.username")) #$NON-NLS-1$ self.usernameTxt = wx.TextCtrl(self.controlsPanel, wx.ID_ANY) self.passwordLabel = wx.StaticText(self.controlsPanel, wx.ID_ANY, _extstr(u"prefpage.general.proxy.password")) #$NON-NLS-1$ self.passwordTxt = wx.TextCtrl(self.controlsPanel, wx.ID_ANY, style=wx.TE_PASSWORD) # end createWidgets() def populateWidgets(self): enable = self.session.getUserPreferenceBool(IZAppUserPrefsKeys.PROXY_ENABLE, False) #$NON-NLS-1$ self.enableCB.SetValue(enable) self.controlsPanel.Enable(enable) host = self.session.getUserPreference(IZAppUserPrefsKeys.PROXY_HOST, u"") #$NON-NLS-1$ port = self.session.getUserPreferenceInt(IZAppUserPrefsKeys.PROXY_PORT, 0) #$NON-NLS-1$ if not host: # get data from os registry proxy = getOSUtil().getProxyConfig() if proxy and proxy.isConfigured(): host = proxy.getHost() port = proxy.getPortInt() self.hostTxt.SetValue(host) if port > 0: self.portTxt.SetValue( unicode(port) ) username = self.session.getUserPreference(IZAppUserPrefsKeys.PROXY_USERNAME, u"") #$NON-NLS-1$ self.usernameTxt.SetValue(username) cyppass = self.session.getUserPreference(IZAppUserPrefsKeys.PROXY_PASSWORD, u"") #$NON-NLS-1$ cyppass = getNoneString(cyppass) if cyppass: password = crypt.decryptCipherText(cyppass, PASSWORD_ENCRYPTION_KEY) self.passwordTxt.SetValue(password) # end populateWidgets() def bindWidgetEvents(self): self.Bind(wx.EVT_CHECKBOX, self.onEnableCB, self.enableCB) self.Bind(wx.EVT_TEXT, self.onDataChanged, self.hostTxt) self.Bind(wx.EVT_TEXT, self.onDataChanged, self.portTxt) self.Bind(wx.EVT_TEXT, self.onDataChanged, self.usernameTxt) self.Bind(wx.EVT_TEXT, self.onPasswordChanged, self.passwordTxt) # end bindWidgetEvents() def layoutWidgets(self): flexGridSizer = wx.FlexGridSizer(4, 2, 5, 5) flexGridSizer.AddGrowableCol(1) flexGridSizer.Add(self.hostLabel, 0, wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL | wx.LEFT, 5) flexGridSizer.Add(self.hostTxt, 0, wx.EXPAND | wx.RIGHT, 5) flexGridSizer.Add(self.portLabel, 0, wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL | wx.LEFT, 5) flexGridSizer.Add(self.portTxt, 0, wx.RIGHT, 5) flexGridSizer.Add(self.usernameLabel, 0, wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL | wx.LEFT, 5) flexGridSizer.Add(self.usernameTxt, 0, wx.EXPAND | wx.RIGHT, 5) flexGridSizer.Add(self.passwordLabel, 0, wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL | wx.LEFT, 5) flexGridSizer.Add(self.passwordTxt, 0, wx.EXPAND | wx.RIGHT, 5) self.controlsPanel.SetAutoLayout(True) self.controlsPanel.SetSizer(flexGridSizer) staticBoxSizer = wx.StaticBoxSizer(self.staticBox, wx.VERTICAL) staticBoxSizer.Add(self.enableCB, 0, wx.EXPAND | wx.ALL, 2) staticBoxSizer.Add(self.controlsPanel, 1, wx.EXPAND | wx.ALL, 2) sizer = wx.BoxSizer(wx.VERTICAL) sizer.AddSizer(staticBoxSizer, 1, wx.EXPAND | wx.ALL, 5) self.SetAutoLayout(True) self.SetSizer(sizer) self.Layout() # end layoutWidgets() def onDataChanged(self, event): if self.enableCB.GetValue(): (h, p) = self._getHostPortFromUI() self.session.setUserPreference(IZAppUserPrefsKeys.PROXY_HOST, h) self.session.setUserPreference(IZAppUserPrefsKeys.PROXY_PORT, p) self.session.setUserPreference(IZAppUserPrefsKeys.PROXY_USERNAME, getSafeString(self.usernameTxt.GetValue())) self.onSessionChange() event.Skip() # end onDataChanged def onPasswordChanged(self, event): if self.enableCB.GetValue(): s = getSafeString(self.passwordTxt.GetValue()) if s: s = crypt.encryptPlainText(s, PASSWORD_ENCRYPTION_KEY) self.session.setUserPreference(IZAppUserPrefsKeys.PROXY_PASSWORD, s) self.onSessionChange() event.Skip() # end onPasswordChanged def onEnableCB(self, event): self.session.setUserPreference(IZAppUserPrefsKeys.PROXY_ENABLE, event.IsChecked()) self.controlsPanel.Enable(event.IsChecked()) self.onSessionChange() event.Skip() # end onDebugCB() def _getHostPortFromUI(self): host = getSafeString( self.hostTxt.GetValue() ) port = getSafeString( self.portTxt.GetValue() ) if host.lower().startswith(u"http"): #$NON-NLS-1$ (scheme, netloc, path, query, fragment) = urlsplit(host, u"http") #$NON-NLS-1$ @UnusedVariable desHostPort = netloc.split(u":") #$NON-NLS-1$ h = desHostPort[0] p = u"80" #$NON-NLS-1$ if len(desHostPort) == 2: p = desHostPort[1] if scheme == u"ssl" and p == u"80": #$NON-NLS-1$ #$NON-NLS-2$ p = u"443" #$NON-NLS-1$ if h: host = h if not port and p: port = p return (host, port) # end _getHostPortFromUI def apply(self): # also set changes to the global value (h, p) = self._getHostPortFromUI() proxy = ZHttpProxyConfiguration() proxy.setEnable( self.enableCB.GetValue() ) proxy.setHost( h ) port = 8080 try: port = int( p ) except: pass proxy.setPort( port ) proxy.setProxyAuthorization( getSafeString(self.usernameTxt.GetValue()), getSafeString(self.passwordTxt.GetValue()) ) return ZApplicationPreferencesPrefPage.apply(self)