From 94cd704f73d5c0543dda66a861c3ae0ba1ec4330 Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Tue, 7 Apr 2015 10:11:25 +1200 Subject: console: toggle palette transparency from options, indicate selected palette --- libmproxy/console/palettepicker.py | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'libmproxy/console/palettepicker.py') diff --git a/libmproxy/console/palettepicker.py b/libmproxy/console/palettepicker.py index 0062d9ae..7e2c10cd 100644 --- a/libmproxy/console/palettepicker.py +++ b/libmproxy/console/palettepicker.py @@ -1,11 +1,12 @@ import urwid -from . import select, common, palettes +from . import select, common, palettes, signals footer = [ ('heading_key', "enter/space"), ":select", ] + def _mkhelp(): text = [] keys = [ @@ -36,7 +37,7 @@ class PalettePicker(urwid.WidgetWrap): return select.Option( i, None, - None, + lambda: self.master.palette == name, lambda: self.select(name) ) @@ -46,6 +47,18 @@ class PalettePicker(urwid.WidgetWrap): for i in low: options.append(mkopt(i)) + options.extend( + [ + select.Heading("Options"), + select.Option( + "Transparent", + "T", + lambda: master.palette_transparent, + self.toggle_palette_transparent + ) + ] + ) + self.lb = select.Select(options) title = urwid.Text("Palettes") title = urwid.Padding(title, align="left", width=("relative", 100)) @@ -54,6 +67,15 @@ class PalettePicker(urwid.WidgetWrap): self.lb, header = title ) + signals.update_settings.connect(self.sig_update_settings) + + def sig_update_settings(self, sender): + self.lb.walker._modified() def select(self, name): self.master.set_palette(name) + + def toggle_palette_transparent(self): + self.master.palette_transparent = not self.master.palette_transparent + self.master.set_palette(self.master.palette) + signals.update_settings.send(self) -- cgit v1.2.3