URI: 
       tqt wallet information: show has_seed and watching_only - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 2a60a701bfb4bada026795fdb92cd1644d58bb48
   DIR parent 2d352bc3f0a55674b8f040d340d185fa0d167076
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Mon, 22 Oct 2018 23:47:34 +0200
       
       qt wallet information: show has_seed and watching_only
       
       Diffstat:
         M electrum/gui/qt/main_window.py      |      18 +++++++++++++-----
         M electrum/wallet.py                  |       5 ++++-
       
       2 files changed, 17 insertions(+), 6 deletions(-)
       ---
   DIR diff --git a/electrum/gui/qt/main_window.py b/electrum/gui/qt/main_window.py
       t@@ -56,8 +56,11 @@ from electrum.util import (format_time, format_satoshis, format_fee_satoshis,
                                   UnknownBaseUnit, DECIMAL_POINT_DEFAULT)
        from electrum.transaction import Transaction, TxOutput
        from electrum.address_synchronizer import AddTransactionException
       -from electrum.wallet import Multisig_Wallet, CannotBumpFee
       +from electrum.wallet import Multisig_Wallet, CannotBumpFee, Abstract_Wallet
        from electrum.version import ELECTRUM_VERSION
       +from electrum.network import Network
       +from electrum.exchange_rate import FxThread
       +from electrum.simple_config import SimpleConfig
        
        from .exception_window import Exception_Hook
        from .amountedit import AmountEdit, BTCAmountEdit, MyLineEdit, FeerateEdit
       t@@ -102,17 +105,17 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
            computing_privkeys_signal = pyqtSignal()
            show_privkeys_signal = pyqtSignal()
        
       -    def __init__(self, gui_object, wallet):
       +    def __init__(self, gui_object, wallet: Abstract_Wallet):
                QMainWindow.__init__(self)
        
                self.gui_object = gui_object
       -        self.config = config = gui_object.config
       +        self.config = config = gui_object.config  # type: SimpleConfig
        
                self.setup_exception_hook()
        
       -        self.network = gui_object.daemon.network
       +        self.network = gui_object.daemon.network  # type: Network
                self.wallet = wallet
       -        self.fx = gui_object.daemon.fx
       +        self.fx = gui_object.daemon.fx  # type: FxThread
                self.invoices = wallet.invoices
                self.contacts = wallet.contacts
                self.tray = gui_object.tray
       t@@ -2079,6 +2082,9 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
                mpk_list = self.wallet.get_master_public_keys()
                vbox = QVBoxLayout()
                wallet_type = self.wallet.storage.get('wallet_type', '')
       +        if self.wallet.is_watching_only():
       +            wallet_type += ' [{}]'.format(_('watching-only'))
       +        seed_available = _('True') if self.wallet.has_seed() else _('False')
                grid = QGridLayout()
                basename = os.path.basename(self.wallet.storage.path)
                grid.addWidget(QLabel(_("Wallet name")+ ':'), 0, 0)
       t@@ -2087,6 +2093,8 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
                grid.addWidget(QLabel(wallet_type), 1, 1)
                grid.addWidget(QLabel(_("Script type")+ ':'), 2, 0)
                grid.addWidget(QLabel(self.wallet.txin_type), 2, 1)
       +        grid.addWidget(QLabel(_("Seed available") + ':'), 3, 0)
       +        grid.addWidget(QLabel(str(seed_available)), 3, 1)
                vbox.addLayout(grid)
                if self.wallet.is_deterministic():
                    mpk_text = ShowQRTextEdit()
   DIR diff --git a/electrum/wallet.py b/electrum/wallet.py
       t@@ -1142,6 +1142,9 @@ class Abstract_Wallet(AddressSynchronizer):
                # overloaded for TrustedCoin wallets
                return False
        
       +    def is_watching_only(self) -> bool:
       +        raise NotImplementedError()
       +
        
        class Simple_Wallet(Abstract_Wallet):
            # wallet with a single keystore
       t@@ -1602,7 +1605,7 @@ class Multisig_Wallet(Deterministic_Wallet):
                return self.keystore.has_seed()
        
            def is_watching_only(self):
       -        return not any([not k.is_watching_only() for k in self.get_keystores()])
       +        return all([k.is_watching_only() for k in self.get_keystores()])
        
            def get_master_public_key(self):
                return self.keystore.get_master_public_key()