URI: 
       tkivy wizard: add space button - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 83c68142e0523d1bf9e66ba5cb8fa677acc4e459
   DIR parent 4d3ce06b6d29f746470d1f82c45372024ce3c5e1
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Mon, 15 Feb 2016 09:14:27 +0100
       
       kivy wizard: add space button
       
       Diffstat:
         M gui/kivy/uix/dialogs/create_restor… |      22 ++++++++++++++++------
         M gui/kivy/uix/dialogs/installwizard… |       2 +-
         M lib/mnemonic.py                     |       2 +-
       
       3 files changed, 18 insertions(+), 8 deletions(-)
       ---
   DIR diff --git a/gui/kivy/uix/dialogs/create_restore.py b/gui/kivy/uix/dialogs/create_restore.py
       t@@ -260,8 +260,9 @@ Builder.load_string('''
                    MButton:
                        text: 'M'
                    MButton:
       +                text: ' '
       +            MButton:
                        text: '<'
       -                size_hint: 2, None
        
            GridLayout:
                rows: 1
       t@@ -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:
       t@@ -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()
   DIR diff --git a/gui/kivy/uix/dialogs/installwizard.py b/gui/kivy/uix/dialogs/installwizard.py
       t@@ -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):
   DIR diff --git a/lib/mnemonic.py b/lib/mnemonic.py
       t@@ -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):