URI: 
       tMerge pull request #5534 from zebra-lucky/kivy_installwizard_back_button - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 3a35ab2574fc59d8385f0218569b741fab82482e
   DIR parent d9a67c6e5d0c7dcaa2e7324d4651ebed00670503
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Fri,  2 Aug 2019 12:06:06 +0200
       
       Merge pull request #5534 from zebra-lucky/kivy_installwizard_back_button
       
       gui/kivy: fix installwizard back button behaviour
       Diffstat:
         M electrum/gui/kivy/uix/dialogs/inst… |      18 +++++++++++++++++-
       
       1 file changed, 17 insertions(+), 1 deletion(-)
       ---
   DIR diff --git a/electrum/gui/kivy/uix/dialogs/installwizard.py b/electrum/gui/kivy/uix/dialogs/installwizard.py
       t@@ -533,6 +533,7 @@ class WizardDialog(EventsDialog):
            crcontent = ObjectProperty(None)
        
            def __init__(self, wizard, **kwargs):
       +        self.auto_dismiss = False
                super(WizardDialog, self).__init__()
                self.wizard = wizard
                self.ids.back.disabled = not wizard.can_go_back()
       t@@ -540,7 +541,8 @@ class WizardDialog(EventsDialog):
                self.run_next = kwargs['run_next']
                _trigger_size_dialog = Clock.create_trigger(self._size_dialog)
                Window.bind(size=_trigger_size_dialog,
       -                    rotation=_trigger_size_dialog)
       +                    rotation=_trigger_size_dialog,
       +                    on_keyboard=self.on_keyboard)
                _trigger_size_dialog()
                self._on_release = False
        
       t@@ -562,6 +564,20 @@ class WizardDialog(EventsDialog):
                else:
                    self.crcontent.add_widget(widget, index=index)
        
       +    def on_keyboard(self, instance, key, keycode, codepoint, modifier):
       +        if key == 27:
       +            if self.wizard.can_go_back():
       +                self.wizard.go_back()
       +            else:
       +                app = App.get_running_app()
       +                if not app.is_exit:
       +                    app.is_exit = True
       +                    app.show_info(_('Press again to exit'))
       +                else:
       +                    self._on_release = False
       +                    self.dismiss()
       +            return True
       +
            def on_dismiss(self):
                app = App.get_running_app()
                if app.wallet is None and not self._on_release: