1
0

qml: fixes and cleanup for qedaemon, qenetwork. expose many wallet properties in qewallet

This commit is contained in:
Sander van Grieken
2021-04-07 16:48:40 +02:00
parent 3b22ecdae4
commit 6e482f437a
3 changed files with 120 additions and 37 deletions

View File

@@ -2,6 +2,7 @@ from PyQt5.QtCore import pyqtProperty, pyqtSignal, pyqtSlot, QObject
from electrum.util import register_callback
from electrum.logging import get_logger
from electrum import constants
class QENetwork(QObject):
def __init__(self, network, parent=None):
@@ -15,11 +16,13 @@ class QENetwork(QObject):
_logger = get_logger(__name__)
network_updated = pyqtSignal()
blockchain_updated = pyqtSignal()
default_server_changed = pyqtSignal()
proxy_set = pyqtSignal()
status_updated = pyqtSignal()
networkUpdated = pyqtSignal()
blockchainUpdated = pyqtSignal()
defaultServerChanged = pyqtSignal()
proxySet = pyqtSignal()
statusUpdated = pyqtSignal()
dataChanged = pyqtSignal() # dummy to silence warnings
_num_updates = 0
_server = ""
@@ -28,40 +31,48 @@ class QENetwork(QObject):
def on_network_updated(self, event, *args):
self._num_updates = self._num_updates + 1
self.network_updated.emit()
self.networkUpdated.emit()
def on_blockchain_updated(self, event, *args):
self._logger.info('chainupdate: ' + str(event) + str(args))
self._height = self.network.get_local_height()
self.blockchain_updated.emit()
self.blockchainUpdated.emit()
def on_default_server_changed(self, event, *args):
netparams = self.network.get_parameters()
self._server = str(netparams.server)
self.default_server_changed.emit()
self.defaultServerChanged.emit()
def on_proxy_set(self, event, *args):
self._logger.info('proxy set')
self.proxy_set.emit()
self.proxySet.emit()
def on_status(self, event, *args):
self._logger.info('status updated')
self._status = self.network.connection_status
self.status_updated.emit()
self.statusUpdated.emit()
@pyqtProperty(int,notify=network_updated)
@pyqtProperty(int,notify=networkUpdated)
def updates(self):
return self._num_updates
@pyqtProperty(int,notify=blockchain_updated)
@pyqtProperty(int,notify=blockchainUpdated)
def height(self):
return self._height
@pyqtProperty('QString',notify=default_server_changed)
@pyqtProperty('QString',notify=defaultServerChanged)
def server(self):
return self._server
@pyqtProperty('QString',notify=status_updated)
@pyqtProperty('QString',notify=statusUpdated)
def status(self):
return self._status
@pyqtProperty(bool, notify=dataChanged)
def isTestNet(self):
return constants.net.TESTNET
@pyqtProperty('QString', notify=dataChanged)
def networkName(self):
return constants.net.__name__.replace('Bitcoin','')