diff --git a/gui/kivy/main_window.py b/gui/kivy/main_window.py index 56767220..3413c71e 100644 --- a/gui/kivy/main_window.py +++ b/gui/kivy/main_window.py @@ -706,6 +706,18 @@ class ElectrumWindow(App): else: apply(f, args + (None,)) + def show_seed(self, label): + self.protected(self._show_seed, (label,)) + + def _show_seed(self, label, password): + print label, password + try: + seed = self.wallet.get_seed(password) + except: + self.show_error("Invalid PIN") + return + label.text = _('Seed') + ':\n' + seed + def change_password(self): self.protected(self._change_password, ()) diff --git a/gui/kivy/uix/screens.py b/gui/kivy/uix/screens.py index e6347b97..92dbd4f7 100644 --- a/gui/kivy/uix/screens.py +++ b/gui/kivy/uix/screens.py @@ -272,6 +272,9 @@ class SendScreen(CScreen): traceback.print_exc(file=sys.stdout) self.app.show_error(str(e)) return + if not tx.is_complete(): + self.app.show_info("Transaction is not complete") + return # broadcast ok, txid = self.app.wallet.sendtx(tx) self.app.show_info(txid) diff --git a/gui/kivy/uix/ui_screens/status.kv b/gui/kivy/uix/ui_screens/status.kv index a955138e..78d2e5d6 100644 --- a/gui/kivy/uix/ui_screens/status.kv +++ b/gui/kivy/uix/ui_screens/status.kv @@ -67,5 +67,24 @@ Popup: opacity: 1 if root.unmatured else 0 text_size: self.size halign: 'left' + Label: + text: '' + id: seed_label + text_size: self.width, None + size: self.texture_size Widget: size_hint: None, 1 + BoxLayout: + size_hint: 1, None + height: '48dp' + Button: + size_hint: 0.5, None + height: '48dp' + text: _('Hide seed') if seed_label.text else _('Show seed') + on_release: + setattr(seed_label, 'text', '') if seed_label.text else app.show_seed(seed_label) + Button: + size_hint: 0.5, None + height: '48dp' + text: _('Close') + on_release: root.dismiss()