def mkopt(name): return select.Option( i, None, lambda: self.master.options.console_palette == name, lambda: setattr(self.master.options, "console_palette", name) )
def __init__(self, master): self.master = master low, high = [], [] for k, v in palettes.palettes.items(): if v.high: high.append(k) else: low.append(k) high.sort() low.sort() options = [ select.Heading("High Colour") ] def mkopt(name): return select.Option( i, None, lambda: self.master.options.console_palette == name, lambda: setattr(self.master.options, "console_palette", name) ) for i in high: options.append(mkopt(i)) options.append(select.Heading("Low Colour")) for i in low: options.append(mkopt(i)) options.extend( [ select.Heading("Options"), select.Option( "Transparent", "T", lambda: master.options.console_palette_transparent, master.options.toggler("console_palette_transparent") ) ] ) self.lb = select.Select(options) title = urwid.Text("Palettes") title = urwid.Padding(title, align="left", width=("relative", 100)) title = urwid.AttrWrap(title, "heading") self._w = urwid.Frame( self.lb, header = title ) master.options.changed.connect(self.sig_options_changed)
def mkopt(name): return select.Option(i, None, lambda: self.master.palette == name, lambda: self.select(name))
def __init__(self, master): self.master = master self.lb = select.Select([ select.Heading("Traffic Manipulation"), select.Option("Header Set Patterns", "H", checker("setheaders", master.options), self.setheaders), select.Option("Ignore Patterns", "I", checker("ignore_hosts", master.options), self.ignore_hosts), select.Option("Replacement Patterns", "R", checker("replacements", master.options), self.replacepatterns), select.Option("Scripts", "S", checker("scripts", master.options), self.scripts), select.Heading("Interface"), select.Option("Default Display Mode", "M", checker("default_contentview", master.options), self.default_displaymode), select.Option("Palette", "P", checker("palette", master.options), self.palette), select.Option("Show Host", "w", checker("showhost", master.options), master.options.toggler("showhost")), select.Heading("Network"), select.Option("No Upstream Certs", "U", checker("no_upstream_cert", master.options), master.options.toggler("no_upstream_cert")), select.Option("TCP Proxying", "T", checker("tcp_hosts", master.options), self.tcp_hosts), select.Option("Don't Verify SSL/TLS Certificates", "V", checker("ssl_insecure", master.options), master.options.toggler("ssl_insecure")), select.Heading("Utility"), select.Option("Anti-Cache", "a", checker("anticache", master.options), master.options.toggler("anticache")), select.Option("Anti-Compression", "o", checker("anticomp", master.options), master.options.toggler("anticomp")), select.Option("Kill Extra", "x", checker("replay_kill_extra", master.options), master.options.toggler("replay_kill_extra")), select.Option("No Refresh", "f", checker("refresh_server_playback", master.options), master.options.toggler("refresh_server_playback")), select.Option("Sticky Auth", "A", checker("stickyauth", master.options), self.sticky_auth), select.Option("Sticky Cookies", "t", checker("stickycookie", master.options), self.sticky_cookie), ]) title = urwid.Text("Options") title = urwid.Padding(title, align="left", width=("relative", 100)) title = urwid.AttrWrap(title, "heading") w = urwid.Frame(self.lb, header=title) super().__init__(w) self.master.loop.widget.footer.update("") signals.update_settings.connect(self.sig_update_settings) master.options.changed.connect(self.sig_update_settings)