From 3c46d49704de86635508439f524c684903dc81d3 Mon Sep 17 00:00:00 2001 From: mathieui Date: Wed, 28 Jan 2015 09:46:51 +0100 Subject: Minor fixes to the certificate warning prompt (#2949) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - slightly lower the CPU usage (callback instead of active waiting w/ sleep) - make the terminal beep so the user knows something happened - prevent the user “escaping” the prompt by pressing /, s, or S --- src/windows/input_placeholders.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/windows') diff --git a/src/windows/input_placeholders.py b/src/windows/input_placeholders.py index 4a6c6d72..496417d1 100644 --- a/src/windows/input_placeholders.py +++ b/src/windows/input_placeholders.py @@ -41,7 +41,7 @@ class YesNoInput(Win): A Window just displaying a Yes/No input Used to ask a confirmation """ - def __init__(self, text=''): + def __init__(self, text='', callback=None): Win.__init__(self) self.key_func = { 'y' : self.on_yes, @@ -49,6 +49,7 @@ class YesNoInput(Win): } self.txt = text self.value = None + self.callback = callback def on_yes(self): self.value = True @@ -68,6 +69,8 @@ class YesNoInput(Win): def do_command(self, key, raw=False): if key.lower() in self.key_func: self.key_func[key]() + if self.value is not None and self.callback is not None: + return self.callback() def on_delete(self): return -- cgit v1.2.3