qml network overview: show server height, if lagging
to see how many blocks it is behind
This commit is contained in:
@@ -66,6 +66,15 @@ Pane {
|
|||||||
Label {
|
Label {
|
||||||
text: Network.height
|
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 {
|
Heading {
|
||||||
Layout.columnSpan: 2
|
Layout.columnSpan: 2
|
||||||
text: qsTr('Mempool fees')
|
text: qsTr('Mempool fees')
|
||||||
|
|||||||
@@ -20,7 +20,8 @@ class QENetwork(QObject, QtEventListener):
|
|||||||
|
|
||||||
networkUpdated = pyqtSignal()
|
networkUpdated = pyqtSignal()
|
||||||
blockchainUpdated = pyqtSignal()
|
blockchainUpdated = pyqtSignal()
|
||||||
heightChanged = pyqtSignal([int], arguments=['height'])
|
heightChanged = pyqtSignal([int], arguments=['height']) # local blockchain height
|
||||||
|
serverHeightChanged = pyqtSignal([int], arguments=['height'])
|
||||||
proxySet = pyqtSignal()
|
proxySet = pyqtSignal()
|
||||||
proxyChanged = pyqtSignal()
|
proxyChanged = pyqtSignal()
|
||||||
statusChanged = pyqtSignal()
|
statusChanged = pyqtSignal()
|
||||||
@@ -51,7 +52,8 @@ class QENetwork(QObject, QtEventListener):
|
|||||||
self.network = network
|
self.network = network
|
||||||
self._qeconfig = qeconfig
|
self._qeconfig = qeconfig
|
||||||
self._serverListModel = None
|
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.register_callbacks()
|
||||||
|
|
||||||
self._qeconfig.useGossipChanged.connect(self.on_gossip_setting_changed)
|
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._logger.debug('server_status updated: %s' % server_status)
|
||||||
self._server_status = server_status
|
self._server_status = server_status
|
||||||
self.statusChanged.emit()
|
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())
|
chains = len(self.network.get_blockchains())
|
||||||
if chains != self._chaintips:
|
if chains != self._chaintips:
|
||||||
self._logger.debug('chain tips # changed: %d', chains)
|
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())
|
self.network.run_from_another_thread(self.network.stop_gossip())
|
||||||
|
|
||||||
@pyqtProperty(int, notify=heightChanged)
|
@pyqtProperty(int, notify=heightChanged)
|
||||||
def height(self):
|
def height(self): # local blockchain height
|
||||||
return self._height
|
return self._height
|
||||||
|
|
||||||
|
@pyqtProperty(int, notify=serverHeightChanged)
|
||||||
|
def server_height(self):
|
||||||
|
return self._server_height
|
||||||
|
|
||||||
@pyqtProperty(str, notify=statusChanged)
|
@pyqtProperty(str, notify=statusChanged)
|
||||||
def server(self):
|
def server(self):
|
||||||
return self._server
|
return self._server
|
||||||
|
|||||||
Reference in New Issue
Block a user