From 8725d50d03cf21b37a78c1d2fa03ade055c8a821 Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Sat, 21 Mar 2015 11:19:20 +1300 Subject: Add blinker dependency, start using it to refactor console app Blinker lets us set up a central pub/sub mechanism to disentangle our object structure. --- libmproxy/console/statusbar.py | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) (limited to 'libmproxy/console/statusbar.py') diff --git a/libmproxy/console/statusbar.py b/libmproxy/console/statusbar.py index a38615b4..7ad78f03 100644 --- a/libmproxy/console/statusbar.py +++ b/libmproxy/console/statusbar.py @@ -3,26 +3,26 @@ import time import urwid -from . import pathedit +from . import pathedit, signals from .. import utils + class ActionBar(urwid.WidgetWrap): def __init__(self): - self.message("") + urwid.WidgetWrap.__init__(self, urwid.Text("")) + signals.status_message.connect(self.message) def selectable(self): return True def path_prompt(self, prompt, text): - self.expire = None self._w = pathedit.PathEdit(prompt, text) def prompt(self, prompt, text = ""): - self.expire = None self._w = urwid.Edit(prompt, text or "") - def message(self, message, expire=None): + def message(self, sender, message, expire=None): self.expire = expire self._w = urwid.Text(message) @@ -127,9 +127,6 @@ class StatusBar(urwid.WidgetWrap): return r def redraw(self): - if self.ab.expire and time.time() > self.ab.expire: - self.message("") - fc = self.master.state.flow_count() if self.master.state.focus is None: offset = 0 @@ -175,9 +172,3 @@ class StatusBar(urwid.WidgetWrap): def prompt(self, prompt, text = ""): self.ab.prompt(prompt, text) - - def message(self, msg, expire=None): - if expire: - expire = time.time() + float(expire)/1000 - self.ab.message(msg, expire) - self.master.loop.draw_screen() -- cgit v1.2.3