automatically wrap to validation pin entry in pin changing dialog when 4 figures were entered
leave dialog when 4 figures were entered in the validation pin entry
def getCurrentIndex(self):
return self.l.getCurrentSelectionIndex()
+ def setCurrentIndex(self, index):
+ if self.instance is not None:
+ self.instance.moveSelectionTo(index)
+
def invalidateCurrent(self):
self.l.invalidateEntry(self.l.getCurrentSelectionIndex())
self.default = default
self.value = copy.copy(default)
+
+ self.endNotifier = []
def validate(self):
max_pos = 0
num += 1
if self.marked_pos >= max_pos:
+ for x in self.endNotifier:
+ x(self)
self.marked_pos = max_pos - 1
if self.marked_pos < 0:
if self.marked_pos >= total_len:
self.marked_pos = total_len - 1
+
+ def addEndNotifier(self, notifier):
+ self.endNotifier.append(notifier)
def handleKey(self, key):
if key == KEY_LEFT:
self.list = []
self.pin1 = ConfigPIN(default = 1111, censor = "*")
self.pin2 = ConfigPIN(default = 1112, censor = "*")
+ self.pin1.addEndNotifier(boundFunction(self.valueChanged, 1))
+ self.pin2.addEndNotifier(boundFunction(self.valueChanged, 2))
self.list.append(getConfigListEntry(_("New pin"), NoSave(self.pin1)))
self.list.append(getConfigListEntry(_("Reenter new pin"), NoSave(self.pin2)))
ConfigListScreen.__init__(self, self.list)
"cancel": self.cancel,
}, -1)
+ def valueChanged(self, pin, value):
+ if pin == 1:
+ self["config"].setCurrentIndex(1)
+ elif pin == 2:
+ self.keyOK()
+
def getPinText(self):
return _("Please enter the old pin code")