mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-02-17 01:52:02 +00:00
src/apps/wallet/get_address: update receive dialog
This commit is contained in:
parent
22c9296aac
commit
c34ee98731
@ -1,3 +1,4 @@
|
|||||||
|
from micropython import const
|
||||||
from trezor import wire, ui
|
from trezor import wire, ui
|
||||||
|
|
||||||
|
|
||||||
@ -16,11 +17,14 @@ async def layout_get_address(ctx, msg):
|
|||||||
coin = coins.by_name(coin_name)
|
coin = coins.by_name(coin_name)
|
||||||
|
|
||||||
node = await seed.derive_node(ctx, address_n)
|
node = await seed.derive_node(ctx, address_n)
|
||||||
|
|
||||||
address = addresses.get_address(msg.script_type, coin, node)
|
address = addresses.get_address(msg.script_type, coin, node)
|
||||||
|
|
||||||
if msg.show_display:
|
if msg.show_display:
|
||||||
await _show_address(ctx, address)
|
while True:
|
||||||
|
if await _show_address(ctx, address):
|
||||||
|
break
|
||||||
|
if await _show_qr(ctx, address):
|
||||||
|
break
|
||||||
|
|
||||||
return Address(address=address)
|
return Address(address=address)
|
||||||
|
|
||||||
@ -28,15 +32,29 @@ async def layout_get_address(ctx, msg):
|
|||||||
async def _show_address(ctx, address):
|
async def _show_address(ctx, address):
|
||||||
from trezor.messages.ButtonRequestType import Address
|
from trezor.messages.ButtonRequestType import Address
|
||||||
from trezor.ui.text import Text
|
from trezor.ui.text import Text
|
||||||
from trezor.ui.qr import Qr
|
|
||||||
from trezor.ui.container import Container
|
from trezor.ui.container import Container
|
||||||
from ..common.confirm import require_confirm
|
from ..common.confirm import confirm
|
||||||
|
|
||||||
lines = _split_address(address)
|
lines = _split_address(address)
|
||||||
|
content = Container(Text('Confirm address', ui.ICON_RESET, ui.MONO, *lines))
|
||||||
|
return await confirm(ctx, content, code=Address, cancel='QR', cancel_style=ui.BTN_KEY)
|
||||||
|
|
||||||
|
|
||||||
|
async def _show_qr(ctx, address):
|
||||||
|
from trezor.messages.ButtonRequestType import Address
|
||||||
|
from trezor.ui.text import Text
|
||||||
|
from trezor.ui.qr import Qr
|
||||||
|
from trezor.ui.container import Container
|
||||||
|
from ..common.confirm import confirm
|
||||||
|
|
||||||
|
qr_x = const(120)
|
||||||
|
qr_y = const(115)
|
||||||
|
qr_coef = const(4)
|
||||||
|
|
||||||
content = Container(
|
content = Container(
|
||||||
Qr(address, (120, 135), 3),
|
Qr(address, (qr_x, qr_y), qr_coef),
|
||||||
Text('Confirm address', ui.ICON_RESET, ui.MONO, *lines))
|
Text('Confirm address', ui.ICON_RESET, ui.MONO))
|
||||||
await require_confirm(ctx, content, code=Address)
|
return await confirm(ctx, content, code=Address, cancel='Address', cancel_style=ui.BTN_KEY)
|
||||||
|
|
||||||
|
|
||||||
def _split_address(address):
|
def _split_address(address):
|
||||||
|
@ -12,16 +12,16 @@ DEFAULT_CANCEL = res.load(ui.ICON_CLEAR)
|
|||||||
|
|
||||||
class ConfirmDialog(Widget):
|
class ConfirmDialog(Widget):
|
||||||
|
|
||||||
def __init__(self, content, confirm=DEFAULT_CONFIRM, cancel=DEFAULT_CANCEL):
|
def __init__(self, content, confirm=DEFAULT_CONFIRM, cancel=DEFAULT_CANCEL, confirm_style=ui.BTN_CONFIRM, cancel_style=ui.BTN_CANCEL):
|
||||||
self.content = content
|
self.content = content
|
||||||
if cancel is not None:
|
if cancel is not None:
|
||||||
self.confirm = Button(
|
self.confirm = Button(
|
||||||
ui.grid(9, n_x=2), confirm, style=ui.BTN_CONFIRM)
|
ui.grid(9, n_x=2), confirm, style=confirm_style)
|
||||||
self.cancel = Button(
|
self.cancel = Button(
|
||||||
ui.grid(8, n_x=2), cancel, style=ui.BTN_CANCEL)
|
ui.grid(8, n_x=2), cancel, style=cancel_style)
|
||||||
else:
|
else:
|
||||||
self.confirm = Button(
|
self.confirm = Button(
|
||||||
ui.grid(4, n_x=1), confirm, style=ui.BTN_CONFIRM)
|
ui.grid(4, n_x=1), confirm, style=confirm_style)
|
||||||
self.cancel = None
|
self.cancel = None
|
||||||
|
|
||||||
def render(self):
|
def render(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user