mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-01-11 16:00:57 +00:00
core/pin: do not allow empty pin
This commit is contained in:
parent
4d0fe4d064
commit
07de336586
@ -85,6 +85,7 @@ class PinDialog(ui.Layout):
|
|||||||
icon_confirm = res.load(ui.ICON_CONFIRM)
|
icon_confirm = res.load(ui.ICON_CONFIRM)
|
||||||
self.confirm_button = Button(ui.grid(14), icon_confirm, ButtonConfirm)
|
self.confirm_button = Button(ui.grid(14), icon_confirm, ButtonConfirm)
|
||||||
self.confirm_button.on_click = self.on_confirm
|
self.confirm_button.on_click = self.on_confirm
|
||||||
|
self.confirm_button.disable()
|
||||||
|
|
||||||
icon_back = res.load(ui.ICON_BACK)
|
icon_back = res.load(ui.ICON_BACK)
|
||||||
self.reset_button = Button(ui.grid(12), icon_back, ButtonClear)
|
self.reset_button = Button(ui.grid(12), icon_back, ButtonClear)
|
||||||
@ -103,14 +104,14 @@ class PinDialog(ui.Layout):
|
|||||||
]
|
]
|
||||||
|
|
||||||
def dispatch(self, event, x, y):
|
def dispatch(self, event, x, y):
|
||||||
for btn in self.pin_buttons:
|
|
||||||
btn.dispatch(event, x, y)
|
|
||||||
self.input.dispatch(event, x, y)
|
self.input.dispatch(event, x, y)
|
||||||
self.confirm_button.dispatch(event, x, y)
|
|
||||||
if self.input.pin:
|
if self.input.pin:
|
||||||
self.reset_button.dispatch(event, x, y)
|
self.reset_button.dispatch(event, x, y)
|
||||||
else:
|
else:
|
||||||
self.cancel_button.dispatch(event, x, y)
|
self.cancel_button.dispatch(event, x, y)
|
||||||
|
self.confirm_button.dispatch(event, x, y)
|
||||||
|
for btn in self.pin_buttons:
|
||||||
|
btn.dispatch(event, x, y)
|
||||||
|
|
||||||
def assign(self, pin):
|
def assign(self, pin):
|
||||||
if len(pin) > self.maxlength:
|
if len(pin) > self.maxlength:
|
||||||
@ -121,9 +122,11 @@ class PinDialog(ui.Layout):
|
|||||||
else:
|
else:
|
||||||
btn.disable()
|
btn.disable()
|
||||||
if pin:
|
if pin:
|
||||||
|
self.confirm_button.enable()
|
||||||
self.reset_button.enable()
|
self.reset_button.enable()
|
||||||
self.cancel_button.disable()
|
self.cancel_button.disable()
|
||||||
else:
|
else:
|
||||||
|
self.confirm_button.disable()
|
||||||
self.reset_button.disable()
|
self.reset_button.disable()
|
||||||
self.cancel_button.enable()
|
self.cancel_button.enable()
|
||||||
self.input.pin = pin
|
self.input.pin = pin
|
||||||
@ -136,4 +139,5 @@ class PinDialog(ui.Layout):
|
|||||||
raise ui.Result(CANCELLED)
|
raise ui.Result(CANCELLED)
|
||||||
|
|
||||||
def on_confirm(self):
|
def on_confirm(self):
|
||||||
raise ui.Result(self.input.pin)
|
if self.input.pin:
|
||||||
|
raise ui.Result(self.input.pin)
|
||||||
|
Loading…
Reference in New Issue
Block a user