URI: 
       tkivy: use NumericProperty for blocks and nodes - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 08fd7d95ab663cd0f6be02d6e4b7fd0b0c0f631b
   DIR parent 98dcc7c094b761a50b8d14e2e3270908f0d7c3af
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Thu, 30 Mar 2017 10:13:58 +0200
       
       kivy: use NumericProperty for blocks and nodes
       
       Diffstat:
         M gui/kivy/main_window.py             |       6 +++++-
         M gui/kivy/uix/dialogs/checkpoint_di… |      10 ++--------
         M gui/kivy/uix/dialogs/settings.py    |       7 +------
       
       3 files changed, 8 insertions(+), 15 deletions(-)
       ---
   DIR diff --git a/gui/kivy/main_window.py b/gui/kivy/main_window.py
       t@@ -22,7 +22,7 @@ from kivy.core.window import Window
        from kivy.logger import Logger
        from kivy.utils import platform
        from kivy.properties import (OptionProperty, AliasProperty, ObjectProperty,
       -                             StringProperty, ListProperty, BooleanProperty)
       +                             StringProperty, ListProperty, BooleanProperty, NumericProperty)
        from kivy.cache import Cache
        from kivy.clock import Clock
        from kivy.factory import Factory
       t@@ -75,6 +75,8 @@ class ElectrumWindow(App):
            electrum_config = ObjectProperty(None)
        
            language = StringProperty('en')
       +    num_blocks = NumericProperty(0)
       +    num_nodes = NumericProperty(0)
        
            def set_URI(self, uri):
                self.switch_to('send')
       t@@ -532,6 +534,8 @@ class ElectrumWindow(App):
        
            def on_network(self, event, *args):
                if event == 'updated':
       +            self.num_blocks = self.network.get_local_height()
       +            self.num_nodes = len(self.network.get_interfaces())
                    self._trigger_update_wallet()
                elif event == 'status':
                    self._trigger_update_status()
   DIR diff --git a/gui/kivy/uix/dialogs/checkpoint_dialog.py b/gui/kivy/uix/dialogs/checkpoint_dialog.py
       t@@ -22,11 +22,11 @@ Builder.load_string('''
                TopLabel:
                    height: '48dp'
                    id: bc_height
       -            text: ''
       +            text: _("Verified headers: %d blocks.")% app.num_blocks
                TopLabel:
                    height: '48dp'
                    id: bc_status
       -            text: ''
       +            text: _("Connected to %d nodes.")% app.num_nodes if app.num_nodes else _("Not connected?")
                Widget:
                    size_hint: 1, 0.1
                TopLabel:
       t@@ -88,12 +88,6 @@ class CheckpointDialog(Factory.Popup):
                self.cp_height, self.cp_value = self.network.blockchain.get_checkpoint()
                self.callback = callback
        
       -        n_nodes = len(network.get_interfaces())
       -        n_blocks = network.get_local_height()
       -        self.ids.bc_height.text = _("Verified headers: %d blocks.")%n_blocks
       -        self.ids.bc_status.text = _("Connected to %d nodes.")%n_nodes if n_nodes else _("Not connected?")
       -
       -
            def on_height_str(self):
                try:
                    new_height = int(self.ids.height_input.text)
   DIR diff --git a/gui/kivy/uix/dialogs/settings.py b/gui/kivy/uix/dialogs/settings.py
       t@@ -121,7 +121,7 @@ Builder.load_string('''
                            action: partial(root.coinselect_dialog, self)
                        CardSeparator
                        SettingsItem:
       -                    status: root.blockchain_status()
       +                    status: "%d blocks"% app.num_blocks
                            title: _('Blockchain') + ': ' + self.status
                            description: _("Configure checkpoints")
                            action: partial(root.blockchain_dialog, self)
       t@@ -191,17 +191,12 @@ class SettingsDialog(Factory.Popup):
                    self._coinselect_dialog = ChoiceDialog(_('Coin selection'), choosers, chooser_name, cb)
                self._coinselect_dialog.open()
        
       -    def blockchain_status(self):
       -        height = self.app.network.get_local_height()
       -        return "%d blocks"% height
       -
            def blockchain_dialog(self, item, dt):
                from checkpoint_dialog import CheckpointDialog
                if self._blockchain_dialog is None:
                    def callback(height, value):
                        if value:
                            self.app.network.blockchain.set_checkpoint(height, value)
       -                    item.status = self.blockchain_status()
                    self._blockchain_dialog = CheckpointDialog(self.app.network, callback)
                self._blockchain_dialog.open()