wizard: keepkey and safe_t set valid on init, handle xprv validation, report error when exception
This commit is contained in:
@@ -642,12 +642,16 @@ class WCKeepkeyInitParams(WizardComponent):
|
|||||||
def on_ready(self):
|
def on_ready(self):
|
||||||
_name, _info = self.wizard_data['hardware_device']
|
_name, _info = self.wizard_data['hardware_device']
|
||||||
self.settings_layout = KeepkeyInitLayout(self.wizard_data['keepkey_init'], _info.device.id_)
|
self.settings_layout = KeepkeyInitLayout(self.wizard_data['keepkey_init'], _info.device.id_)
|
||||||
|
self.settings_layout.validChanged.connect(self.on_settings_valid_changed)
|
||||||
self.layout().addLayout(self.settings_layout)
|
self.layout().addLayout(self.settings_layout)
|
||||||
self.layout().addStretch(1)
|
self.layout().addStretch(1)
|
||||||
|
|
||||||
self.valid = self.wizard_data['keepkey_init'] != TIM_PRIVKEY
|
self.valid = self.wizard_data['keepkey_init'] != TIM_PRIVKEY # TODO: only privkey is validated
|
||||||
self.busy = False
|
self.busy = False
|
||||||
|
|
||||||
|
def on_settings_valid_changed(self, is_valid: bool):
|
||||||
|
self.valid = is_valid
|
||||||
|
|
||||||
def apply(self):
|
def apply(self):
|
||||||
self.wizard_data['keepkey_settings'] = self.settings_layout.get_settings()
|
self.wizard_data['keepkey_settings'] = self.settings_layout.get_settings()
|
||||||
|
|
||||||
@@ -672,8 +676,14 @@ class WCKeepkeyInit(WizardComponent, Logger):
|
|||||||
client.handler = self.plugin.create_handler(self.wizard)
|
client.handler = self.plugin.create_handler(self.wizard)
|
||||||
|
|
||||||
def initialize_device_task(settings, method, device_id, handler):
|
def initialize_device_task(settings, method, device_id, handler):
|
||||||
self.plugin._initialize_device(settings, method, device_id, handler)
|
try:
|
||||||
self.init_done()
|
self.plugin._initialize_device(settings, method, device_id, handler)
|
||||||
|
self.valid = True
|
||||||
|
except Exception as e:
|
||||||
|
self.valid = False
|
||||||
|
self.error = repr(e)
|
||||||
|
finally:
|
||||||
|
self.init_done()
|
||||||
|
|
||||||
t = threading.Thread(
|
t = threading.Thread(
|
||||||
target=initialize_device_task,
|
target=initialize_device_task,
|
||||||
|
|||||||
@@ -574,12 +574,16 @@ class WCSafeTInitParams(WizardComponent):
|
|||||||
def on_ready(self):
|
def on_ready(self):
|
||||||
_name, _info = self.wizard_data['hardware_device']
|
_name, _info = self.wizard_data['hardware_device']
|
||||||
self.settings_layout = SafeTInitLayout(self.wizard_data['safe_t_init'], _info.device.id_)
|
self.settings_layout = SafeTInitLayout(self.wizard_data['safe_t_init'], _info.device.id_)
|
||||||
|
self.settings_layout.validChanged.connect(self.on_settings_valid_changed)
|
||||||
self.layout().addLayout(self.settings_layout)
|
self.layout().addLayout(self.settings_layout)
|
||||||
self.layout().addStretch(1)
|
self.layout().addStretch(1)
|
||||||
|
|
||||||
self.valid = self.wizard_data['safe_t_init'] != TIM_PRIVKEY
|
self.valid = self.wizard_data['safe_t_init'] != TIM_PRIVKEY
|
||||||
self.busy = False
|
self.busy = False
|
||||||
|
|
||||||
|
def on_settings_valid_changed(self, is_valid: bool):
|
||||||
|
self.valid = is_valid
|
||||||
|
|
||||||
def apply(self):
|
def apply(self):
|
||||||
self.wizard_data['safe_t_settings'] = self.settings_layout.get_settings()
|
self.wizard_data['safe_t_settings'] = self.settings_layout.get_settings()
|
||||||
|
|
||||||
@@ -604,8 +608,14 @@ class WCSafeTInit(WizardComponent, Logger):
|
|||||||
client.handler = self.plugin.create_handler(self.wizard)
|
client.handler = self.plugin.create_handler(self.wizard)
|
||||||
|
|
||||||
def initialize_device_task(settings, method, device_id, handler):
|
def initialize_device_task(settings, method, device_id, handler):
|
||||||
self.plugin._initialize_device(settings, method, device_id, handler)
|
try:
|
||||||
self.init_done()
|
self.plugin._initialize_device(settings, method, device_id, handler)
|
||||||
|
self.valid = True
|
||||||
|
except Exception as e:
|
||||||
|
self.valid = False
|
||||||
|
self.error = repr(e)
|
||||||
|
finally:
|
||||||
|
self.init_done()
|
||||||
|
|
||||||
t = threading.Thread(
|
t = threading.Thread(
|
||||||
target=initialize_device_task,
|
target=initialize_device_task,
|
||||||
|
|||||||
Reference in New Issue
Block a user