From: Andreas Frisch Date: Tue, 7 Oct 2008 13:39:03 +0000 (+0000) Subject: Introduce ConfigPassword class (censored until selected) X-Git-Tag: 2.6.0~796 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/4f1fab7b13be9d8d3fb013c14378264968502b2a Introduce ConfigPassword class (censored until selected) --- diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py index 424585de..3b8ad01c 100644 --- a/lib/python/Components/config.py +++ b/lib/python/Components/config.py @@ -762,6 +762,26 @@ class ConfigText(ConfigElement, NumericalTextInput): def unsafeAssign(self, value): self.value = str(value) +class ConfigPassword(ConfigText): + def __init__(self, default = "", fixed_size = False, visible_width = False, censor = "*"): + ConfigText.__init__(self, default = "", fixed_size = fixed_size, visible_width = visible_width) + self.censor_char = censor + self.hidden = True + + def getMulti(self, selected): + mtext, text, mark = ConfigText.getMulti(self, selected) + if self.hidden: + text = len(text) * self.censor_char + return (mtext, text, mark) + + def onSelect(self, session): + ConfigText.onSelect(self, session) + self.hidden = False + + def onDeselect(self, session): + ConfigText.onDeselect(self, session) + self.hidden = True + class ConfigNumber(ConfigText): def __init__(self, default = 0): ConfigText.__init__(self, str(default), fixed_size = False)