def showDetailEditor(self, hosts=None, default_is_online=False): u"""显示详情编辑窗口""" dlg = ui.Dlg_addHosts(self) if hosts: # 初始化值 dlg.m_radioBtn_local.SetValue(not hosts.is_online) dlg.m_radioBtn_online.SetValue(hosts.is_online) dlg.m_radioBtn_local.Enable(False) dlg.m_radioBtn_online.Enable(False) dlg.m_textCtrl_title.SetValue(hosts.title) if hosts.url: dlg.m_textCtrl_url.SetValue(hosts.url) dlg.m_textCtrl_url.Enable(True) else: dlg.m_radioBtn_local.SetValue(not default_is_online) dlg.m_radioBtn_online.SetValue(default_is_online) dlg.m_textCtrl_url.Enabled = default_is_online if dlg.ShowModal() != wx.ID_OK: dlg.Destroy() return dlg.Destroy() is_online = dlg.m_radioBtn_online.GetValue() title = dlg.m_textCtrl_title.GetValue().strip() url = dlg.m_textCtrl_url.GetValue().strip() if not title: wx.MessageBox(u"方案名不能为空!", caption=u"出错啦!") return for h in self.hostses: if h != hosts and h.title == title: wx.MessageBox(u"已经有名为 '%s' 的方案了!" % title, caption=u"出错啦!") return if not hosts: hosts = self.saveNewHostFile(title, url, is_online) if not hosts: return else: # 修改 hosts hosts.is_online = is_online hosts.title = title hosts.url = url if is_online else None self.updateHostsTitle(hosts) self.saveHosts(hosts)
def showDetailEditor(self, hosts=None, default_is_online=False): u"""显示详情编辑窗口""" dlg = ui.Dlg_addHosts(self) if hosts: # 初始化值 dlg.m_radioBtn_local.SetValue(not hosts.is_online) dlg.m_radioBtn_online.SetValue(hosts.is_online) dlg.m_radioBtn_local.Enable(False) dlg.m_radioBtn_online.Enable(False) dlg.m_textCtrl_title.SetValue(hosts.title) if hosts.url: dlg.m_textCtrl_url.SetValue(hosts.url) dlg.m_textCtrl_url.Enable(True) else: dlg.m_radioBtn_local.SetValue(not default_is_online) dlg.m_radioBtn_online.SetValue(default_is_online) dlg.m_textCtrl_url.Enabled = default_is_online if dlg.ShowModal() != wx.ID_OK: dlg.Destroy() return dlg.Destroy() is_online = dlg.m_radioBtn_online.GetValue() title = dlg.m_textCtrl_title.GetValue().strip() url = dlg.m_textCtrl_url.GetValue().strip() if not title: wx.MessageBox(u"方案名不能为空!", caption=u"出错啦!") return for h in self.hostses: if h != hosts and h.title == title: wx.MessageBox(u"已经有名为 '%s' 的方案了!" % title, caption=u"出错啦!") return if not hosts: # 新建 hosts fn = self.makeNewHostsFileName() if not fn: wx.MessageBox(u"hosts 文件数超出限制,无法再创建新 hosts 了!", caption=u"出错啦!") return path = os.path.join(self.hosts_path, fn) hosts = Hosts(path, title=title, url=url if is_online else None) hosts.content = u"# %s" % title if hosts.is_online: self.getHostsContent(hosts) self.addHosts(hosts, show_after_add=True) else: # 修改 hosts hosts.is_online = is_online hosts.title = title hosts.url = url if is_online else None self.updateHostsTitle(hosts) self.saveHosts(hosts)