tkivy: pass message to password_dialog (follow-up d9172ade714e659d87614e0376e53d8bad155159) - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 098af027890c8450ee0327a9de63f006a4243991 DIR parent 58a0a9b160e811ff4b1c19c05683cb4c03287977 HTML Author: ThomasV <thomasv@electrum.org> Date: Mon, 17 Feb 2020 09:16:29 +0100 kivy: pass message to password_dialog (follow-up d9172ade714e659d87614e0376e53d8bad155159) Diffstat: M electrum/gui/kivy/main_window.py | 27 ++++++++++++--------------- M electrum/gui/kivy/uix/dialogs/pass… | 9 +++++---- 2 files changed, 17 insertions(+), 19 deletions(-) --- DIR diff --git a/electrum/gui/kivy/main_window.py b/electrum/gui/kivy/main_window.py t@@ -1112,10 +1112,15 @@ class ElectrumWindow(App): def on_fee(self, event, *arg): self.fee_status = self.electrum_config.get_fee_status() - def protected(self, f, args): + def protected(self, msg, f, args): if self.electrum_config.get('pin_code'): on_success = lambda pw: f(*(args + (self.password,))) - self.password_dialog(check_password=self.check_pin_code, on_success=on_success, on_failure=lambda: None, is_password=False) + self.password_dialog( + message = msg, + check_password=self.check_pin_code, + on_success=on_success, + on_failure=lambda: None, + is_password=False) else: f(*(args + (self.password,))) t@@ -1177,7 +1182,7 @@ class ElectrumWindow(App): self.load_wallet_by_name(new_path) def show_seed(self, label): - self.protected(self._show_seed, (label,)) + self.protected(_("Enter PIN code to display your seed"), self._show_seed, (label,)) def _show_seed(self, label, password): if self.wallet.has_password() and password is None: t@@ -1196,31 +1201,23 @@ class ElectrumWindow(App): if pin != self.electrum_config.get('pin_code'): raise InvalidPassword - def password_dialog(self, *, check_password: Callable = None, - on_success: Callable = None, on_failure: Callable = None, - is_password=True): + def password_dialog(self, **kwargs): if self._password_dialog is None: self._password_dialog = PasswordDialog() - self._password_dialog.init( - self, check_password = check_password, - on_success=on_success, on_failure=on_failure, - is_password=is_password) + self._password_dialog.init(self, **kwargs) self._password_dialog.open() def change_password(self, cb): - if self._password_dialog is None: - self._password_dialog = PasswordDialog() def on_success(old_password, new_password): self.wallet.update_password(old_password, new_password) self.password = new_password self.show_info(_("Your password was updated")) on_failure = lambda: self.show_error(_("Password not updated")) - self._password_dialog.init( - self, check_password = self.wallet.check_password, + self.password_dialog( + check_password = self.wallet.check_password, on_success=on_success, on_failure=on_failure, is_change=True, is_password=True, has_password=self.wallet.has_password()) - self._password_dialog.open() def change_pin_code(self, cb): if self._password_dialog is None: DIR diff --git a/electrum/gui/kivy/uix/dialogs/password_dialog.py b/electrum/gui/kivy/uix/dialogs/password_dialog.py t@@ -115,11 +115,12 @@ class PasswordDialog(Factory.Popup): check_password = None, on_success: Callable = None, on_failure: Callable = None, is_change: bool = False, - is_password: bool = False, - has_password: bool = False): + is_password: bool = True, + has_password: bool = False, + message: str = ''): self.app = app self.pw_check = check_password - self.message = '' + self.message = message self.on_success = on_success self.on_failure = on_failure self.success = False t@@ -134,7 +135,7 @@ class PasswordDialog(Factory.Popup): def update_screen(self): self.ids.kb.password = '' self.ids.textinput_generic_password.text = '' - if self.level == 0: + if self.level == 0 and self.message == '': self.message = _('Enter your password') if self.is_generic else _('Enter your PIN') elif self.level == 1: self.message = _('Enter new password') if self.is_generic else _('Enter new PIN')