aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/console/palettepicker.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2015-04-07 10:11:25 +1200
committerAldo Cortesi <aldo@nullcube.com>2015-04-07 10:11:25 +1200
commit94cd704f73d5c0543dda66a861c3ae0ba1ec4330 (patch)
tree0eca99b7830dcb89e6704bf449f83912ed0cec03 /libmproxy/console/palettepicker.py
parentf6a3bd15b3b8c3d30abf6e5209e10cff3c4784e0 (diff)
downloadmitmproxy-94cd704f73d5c0543dda66a861c3ae0ba1ec4330.tar.gz
mitmproxy-94cd704f73d5c0543dda66a861c3ae0ba1ec4330.tar.bz2
mitmproxy-94cd704f73d5c0543dda66a861c3ae0ba1ec4330.zip
console: toggle palette transparency from options, indicate selected palette
Diffstat (limited to 'libmproxy/console/palettepicker.py')
-rw-r--r--libmproxy/console/palettepicker.py26
1 files changed, 24 insertions, 2 deletions
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)