URI: 
       tkivy: show synchronization status in the balance field - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 27caa683fe8447f20831a46395e6bd653edd150d
   DIR parent 75f6ab913316998e1e3c4b1d256de17bc367ea8e
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Fri, 14 Dec 2018 08:27:03 +0100
       
       kivy: show synchronization status in the balance field
       
       Diffstat:
         M electrum/gui/kivy/main.kv           |       2 +-
         M electrum/gui/kivy/main_window.py    |      26 +++++++++++---------------
         M electrum/gui/kivy/uix/ui_screens/s… |       2 +-
       
       3 files changed, 13 insertions(+), 17 deletions(-)
       ---
   DIR diff --git a/electrum/gui/kivy/main.kv b/electrum/gui/kivy/main.kv
       t@@ -435,7 +435,7 @@ BoxLayout:
                        size_hint: 1, 1
                        bold: True
                        color: 0.7, 0.7, 0.7, 1
       -                text: app.status
       +                text: app.wallet_name
                        font_size: '22dp'
                        #minimum_width: '1dp'
                        on_release: app.popup_dialog('status')
   DIR diff --git a/electrum/gui/kivy/main_window.py b/electrum/gui/kivy/main_window.py
       t@@ -193,8 +193,8 @@ class ElectrumWindow(App):
                self._trigger_update_status()
                self._trigger_update_history()
        
       +    wallet_name = StringProperty(_('No Wallet'))
            base_unit = AliasProperty(_get_bu, _set_bu)
       -    status = StringProperty('')
            fiat_unit = StringProperty('')
        
            def on_fiat_unit(self, a, b):
       t@@ -308,9 +308,6 @@ class ElectrumWindow(App):
                self._password_dialog = None
                self.fee_status = self.electrum_config.get_fee_status()
        
       -    def wallet_name(self):
       -        return os.path.basename(self.wallet.storage.path) if self.wallet else ' '
       -
            def on_pr(self, pr):
                if not self.wallet:
                    self.show_error(_('No wallet loaded.'))
       t@@ -547,8 +544,6 @@ class ElectrumWindow(App):
                    else:
                        self.load_wallet(wallet)
                else:
       -            Logger.debug('Electrum: Wallet not found or action needed. Launching install wizard')
       -
                    def launch_wizard():
                        storage = WalletStorage(path, manual_upgrades=True)
                        wizard = Factory.InstallWizard(self.electrum_config, self.plugins, storage)
       t@@ -559,7 +554,6 @@ class ElectrumWindow(App):
                        launch_wizard()
                    else:
                        from .uix.dialogs.question import Question
       -
                        def handle_answer(b: bool):
                            if b:
                                launch_wizard()
       t@@ -705,6 +699,7 @@ class ElectrumWindow(App):
                if self.wallet:
                    self.stop_wallet()
                self.wallet = wallet
       +        self.wallet_name = wallet.basename()
                self.update_wallet()
                # Once GUI has been initialized check if we want to announce something
                # since the callback has been called before the GUI was initialized
       t@@ -719,13 +714,12 @@ class ElectrumWindow(App):
                    send_exception_to_crash_reporter(e)
        
            def update_status(self, *dt):
       -        self.num_blocks = self.network.get_local_height()
                if not self.wallet:
       -            self.status = _("No Wallet")
                    return
                if self.network is None or not self.network.is_connected():
                    status = _("Offline")
                elif self.network.is_connected():
       +            self.num_blocks = self.network.get_local_height()
                    server_height = self.network.get_server_height()
                    server_lag = self.num_blocks - server_height
                    if not self.wallet.up_to_date or server_height == 0:
       t@@ -736,12 +730,14 @@ class ElectrumWindow(App):
                        status = ''
                else:
                    status = _("Disconnected")
       -        self.status = self.wallet.basename() + (' [size=15dp](%s)[/size]'%status if status else '')
       -        # balance
       -        c, u, x = self.wallet.get_balance()
       -        text = self.format_amount(c+x+u)
       -        self.balance = str(text.strip()) + ' [size=22dp]%s[/size]'% self.base_unit
       -        self.fiat_balance = self.fx.format_amount(c+u+x) + ' [size=22dp]%s[/size]'% self.fx.ccy
       +        if status:
       +            self.balance = status
       +            self.fiat_balance = status
       +        else:
       +            c, u, x = self.wallet.get_balance()
       +            text = self.format_amount(c+x+u)
       +            self.balance = str(text.strip()) + ' [size=22dp]%s[/size]'% self.base_unit
       +            self.fiat_balance = self.fx.format_amount(c+u+x) + ' [size=22dp]%s[/size]'% self.fx.ccy
        
            def get_max_amount(self):
                from electrum.transaction import TxOutput
   DIR diff --git a/electrum/gui/kivy/uix/ui_screens/status.kv b/electrum/gui/kivy/uix/ui_screens/status.kv
       t@@ -25,7 +25,7 @@ Popup:
                            spacing: '10dp'
                            BoxLabel:
                                text: _('Wallet Name')
       -                        value: app.wallet_name()
       +                        value: app.wallet_name
                            BoxLabel:
                                text: _("Wallet type:")
                                value: app.wallet.wallet_type