tqt seed dialog fixes - electrum - Electrum Bitcoin wallet
 (HTM) git clone https://git.parazyd.org/electrum
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
       ---
 (DIR) commit eb64571341a26dd4974f904edf87f9b9e5c78ee9
 (DIR) parent 53320470f590edcea6d3783b530ece173e0d03ff
 (HTM) Author: SomberNight <somber.night@protonmail.com>
       Date:   Tue, 24 Apr 2018 23:55:42 +0200
       
       qt seed dialog fixes
       
       for xpub, reenable show qr code option (fixes #4307)
       set to read-only when editing capability is not intentional
       allow tab to auto-complete
       
       Diffstat:
         M gui/qt/installwizard.py             |       2 +-
         M gui/qt/seed_dialog.py               |      17 ++++++++++++-----
       
       2 files changed, 13 insertions(+), 6 deletions(-)
       ---
 (DIR) diff --git a/gui/qt/installwizard.py b/gui/qt/installwizard.py
       t@@ -534,7 +534,7 @@ class InstallWizard(QDialog, MessageBoxMixin, BaseWizard):
                    _("Please share it with your cosigners.")
                ])
                vbox = QVBoxLayout()
       -        layout = SeedLayout(xpub, title=msg, icon=False)
       +        layout = SeedLayout(xpub, title=msg, icon=False, for_seed_words=False)
                vbox.addLayout(layout.layout())
                self.exec_layout(vbox, _('Master Public Key'))
                return None
 (DIR) diff --git a/gui/qt/seed_dialog.py b/gui/qt/seed_dialog.py
       t@@ -88,17 +88,24 @@ class SeedLayout(QVBoxLayout):
                self.is_ext = cb_ext.isChecked() if 'ext' in self.options else False
                self.is_bip39 = cb_bip39.isChecked() if 'bip39' in self.options else False
        
       -    def __init__(self, seed=None, title=None, icon=True, msg=None, options=None, is_seed=None, passphrase=None, parent=None):
       +    def __init__(self, seed=None, title=None, icon=True, msg=None, options=None,
       +                 is_seed=None, passphrase=None, parent=None, for_seed_words=True):
                QVBoxLayout.__init__(self)
                self.parent = parent
                self.options = options
                if title:
                    self.addWidget(WWLabel(title))
       -        self.seed_e = CompletionTextEdit()
       -        if seed:
       +        if seed:  # "read only", we already have the text
       +            if for_seed_words:
       +                self.seed_e = ButtonsTextEdit()
       +            else:  # e.g. xpub
       +                self.seed_e = ShowQRTextEdit()
       +            self.seed_e.setReadOnly(True)
                    self.seed_e.setText(seed)
       -        else:
       -            self.seed_e.setTabChangesFocus(True)
       +        else:  # we expect user to enter text
       +            assert for_seed_words
       +            self.seed_e = CompletionTextEdit()
       +            self.seed_e.setTabChangesFocus(False)  # so that tab auto-completes
                    self.is_seed = is_seed
                    self.saved_is_seed = self.is_seed
                    self.seed_e.textChanged.connect(self.on_edit)