1
0

qml network overview: show server height, if lagging

to see how many blocks it is behind
This commit is contained in:
SomberNight
2023-04-05 11:21:31 +00:00
parent dd1a83e1c0
commit 8ea63f9bde
2 changed files with 23 additions and 3 deletions

View File

@@ -66,6 +66,15 @@ Pane {
Label {
text: Network.height
}
Label {
text: qsTr('Server Height:');
color: Material.accentColor
visible: Network.server_height != Network.height
}
Label {
text: Network.server_height + " (lagging)"
visible: Network.server_height != Network.height
}
Heading {
Layout.columnSpan: 2
text: qsTr('Mempool fees')

View File

@@ -20,7 +20,8 @@ class QENetwork(QObject, QtEventListener):
networkUpdated = pyqtSignal()
blockchainUpdated = pyqtSignal()
heightChanged = pyqtSignal([int], arguments=['height'])
heightChanged = pyqtSignal([int], arguments=['height']) # local blockchain height
serverHeightChanged = pyqtSignal([int], arguments=['height'])
proxySet = pyqtSignal()
proxyChanged = pyqtSignal()
statusChanged = pyqtSignal()
@@ -51,7 +52,8 @@ class QENetwork(QObject, QtEventListener):
self.network = network
self._qeconfig = qeconfig
self._serverListModel = None
self._height = network.get_local_height() # init here, update event can take a while
self._height = network.get_local_height() # init here, update event can take a while
self._server_height = network.get_server_height() # init here, update event can take a while
self.register_callbacks()
self._qeconfig.useGossipChanged.connect(self.on_gossip_setting_changed)
@@ -94,6 +96,11 @@ class QENetwork(QObject, QtEventListener):
self._logger.debug('server_status updated: %s' % server_status)
self._server_status = server_status
self.statusChanged.emit()
server_height = self.network.get_server_height()
if self._server_height != server_height:
self._logger.debug(f'server_height updated: {server_height}')
self._server_height = server_height
self.serverHeightChanged.emit(server_height)
chains = len(self.network.get_blockchains())
if chains != self._chaintips:
self._logger.debug('chain tips # changed: %d', chains)
@@ -173,9 +180,13 @@ class QENetwork(QObject, QtEventListener):
self.network.run_from_another_thread(self.network.stop_gossip())
@pyqtProperty(int, notify=heightChanged)
def height(self):
def height(self): # local blockchain height
return self._height
@pyqtProperty(int, notify=serverHeightChanged)
def server_height(self):
return self._server_height
@pyqtProperty(str, notify=statusChanged)
def server(self):
return self._server