commit 08fd7d95ab663cd0f6be02d6e4b7fd0b0c0f631b
parent 98dcc7c094b761a50b8d14e2e3270908f0d7c3af
Author: ThomasV <thomasv@electrum.org>
Date: Thu, 30 Mar 2017 10:13:58 +0200
kivy: use NumericProperty for blocks and nodes
Diffstat:
3 files changed, 8 insertions(+), 15 deletions(-)
diff --git a/gui/kivy/main_window.py b/gui/kivy/main_window.py
@@ -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
@@ -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')
@@ -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()
diff --git a/gui/kivy/uix/dialogs/checkpoint_dialog.py b/gui/kivy/uix/dialogs/checkpoint_dialog.py
@@ -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:
@@ -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)
diff --git a/gui/kivy/uix/dialogs/settings.py b/gui/kivy/uix/dialogs/settings.py
@@ -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)
@@ -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()