electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit 83c68142e0523d1bf9e66ba5cb8fa677acc4e459
parent 4d3ce06b6d29f746470d1f82c45372024ce3c5e1
Author: ThomasV <thomasv@electrum.org>
Date:   Mon, 15 Feb 2016 09:14:27 +0100

kivy wizard: add space button

Diffstat:
Mgui/kivy/uix/dialogs/create_restore.py | 22++++++++++++++++------
Mgui/kivy/uix/dialogs/installwizard.py | 2+-
Mlib/mnemonic.py | 2+-
3 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/gui/kivy/uix/dialogs/create_restore.py b/gui/kivy/uix/dialogs/create_restore.py @@ -260,8 +260,9 @@ Builder.load_string(''' MButton: text: 'M' MButton: + text: ' ' + MButton: text: '<' - size_hint: 2, None GridLayout: rows: 1 @@ -405,7 +406,7 @@ class RestoreSeedDialog(WizardDialog): self.mnemonic = Mnemonic('en') def on_text(self, dt): - text = self.get_seed_text() + text = self.ids.text_input_seed.text self.ids.next.disabled = not bool(self._test(text)) if not text: @@ -415,20 +416,29 @@ class RestoreSeedDialog(WizardDialog): else: last_word = text.split(' ')[-1] + enable_space = False self.ids.suggestions.clear_widgets() suggestions = [x for x in self.mnemonic.get_suggestions(last_word)] if suggestions and len(suggestions) < 10: for w in suggestions: - b = WordButton(text=w) - self.ids.suggestions.add_widget(b) + if w == last_word: + enable_space = True + else: + b = WordButton(text=w) + self.ids.suggestions.add_widget(b) i = len(last_word) - p = set([x[i] for x in suggestions]) + p = set() + for x in suggestions: + if len(x)>i: p.add(x[i]) + for line in [self.ids.line1, self.ids.line2, self.ids.line3]: for c in line.children: if isinstance(c, Button): if c.text in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ': - c.disabled = (c.text.lower() not in p) and p + c.disabled = (c.text.lower() not in p) and last_word + elif c.text == ' ': + c.disabled = not enable_space def on_word(self, w): text = self.get_seed_text() diff --git a/gui/kivy/uix/dialogs/installwizard.py b/gui/kivy/uix/dialogs/installwizard.py @@ -98,7 +98,7 @@ class InstallWizard(Widget): else: self.run('add_seed', (text, None)) # fixme: sync - msg = _('You may use the camera to scan your seed. Scan a master public key to create a watching-only wallet') + msg = _('You may use the camera to scan your seed. To create a watching-only wallet, scan your master public key.') RestoreSeedDialog(test=Wallet.is_any, message=msg, on_release=on_seed).open() def add_seed(self, text, password): diff --git a/lib/mnemonic.py b/lib/mnemonic.py @@ -134,7 +134,7 @@ class Mnemonic(object): def get_suggestions(self, prefix): for w in self.wordlist: - if w.startswith(prefix) and w!=prefix: + if w.startswith(prefix): yield w def mnemonic_decode(self, seed):