trezor-core/src/apps/management/apply_settings.py

44 lines
1.8 KiB
Python
Raw Normal View History

2016-11-23 05:52:02 -08:00
from trezor import ui, wire
2017-08-15 06:09:09 -07:00
async def layout_apply_settings(ctx, msg):
2016-11-23 05:52:02 -08:00
from trezor.messages.Success import Success
from trezor.messages.FailureType import ProcessError
2016-11-23 05:52:02 -08:00
from trezor.ui.text import Text
from ..common.confirm import require_confirm
from ..common import storage
2017-12-12 17:41:59 -08:00
if msg.homescreen is None and msg.label is None and msg.language is None and msg.use_passphrase is None:
raise wire.FailureError(ProcessError, 'No setting provided')
2016-11-23 05:52:02 -08:00
2017-12-12 17:41:59 -08:00
if msg.homescreen is not None:
await require_confirm(ctx, Text(
'Change homescreen', ui.ICON_DEFAULT,
2017-12-12 17:41:59 -08:00
'Do you really want to', 'change homescreen?'))
2016-11-23 05:52:02 -08:00
if msg.label is not None:
2017-08-15 06:09:09 -07:00
await require_confirm(ctx, Text(
'Change label', ui.ICON_DEFAULT,
2016-11-23 05:52:02 -08:00
'Do you really want to', 'change label to',
ui.BOLD, '%s?' % msg.label)) # TODO: split label (bold) and '?' (normal) once we support mixed styles on one line
2016-11-23 05:52:02 -08:00
if msg.language is not None:
2017-08-15 06:09:09 -07:00
await require_confirm(ctx, Text(
'Change language', ui.ICON_DEFAULT,
2016-11-23 05:52:02 -08:00
'Do you really want to', 'change language to',
ui.BOLD, '%s?' % msg.language)) # TODO: split lang (bold) and '?' (normal) once we support mixed styles on one line
2016-11-23 05:52:02 -08:00
if msg.use_passphrase is not None:
2017-08-15 06:09:09 -07:00
await require_confirm(ctx, Text(
2016-11-23 05:52:02 -08:00
'Enable passphrase' if msg.use_passphrase else 'Disable passphrase',
ui.ICON_DEFAULT,
2016-11-23 05:52:02 -08:00
'Do you really want to',
'enable passphrase' if msg.use_passphrase else 'disable passphrase',
'encryption?'))
storage.load_settings(label=msg.label,
2017-12-12 17:41:59 -08:00
use_passphrase=msg.use_passphrase,
homescreen=msg.homescreen)
2016-11-23 05:52:02 -08:00
return Success(message='Settings applied')