From 9afea4768da9b43a41561d6c2fd467553318427f Mon Sep 17 00:00:00 2001 From: Sander van Grieken Date: Tue, 17 Jan 2023 17:23:50 +0100 Subject: [PATCH] qml: make bolt icon a gossip progress indicator --- .../LightningNetworkStatusIndicator.qml | 32 +++++++++++++++---- electrum/gui/qml/components/main.qml | 1 - 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/electrum/gui/qml/components/controls/LightningNetworkStatusIndicator.qml b/electrum/gui/qml/components/controls/LightningNetworkStatusIndicator.qml index e6fd56184..d83dd5aef 100644 --- a/electrum/gui/qml/components/controls/LightningNetworkStatusIndicator.qml +++ b/electrum/gui/qml/components/controls/LightningNetworkStatusIndicator.qml @@ -1,12 +1,32 @@ import QtQuick 2.6 -Image { +import org.electrum 1.0 + +Item { id: root + visible: Config.useGossip + implicitWidth: constants.iconSizeMedium + implicitHeight: constants.iconSizeMedium + + property int gossipProgress: Network.gossipInfo.db_channels + ? (100 * Network.gossipInfo.db_channels / (Network.gossipInfo.unknown_channels + Network.gossipInfo.db_channels)) + : 0 + + Image { + sourceSize.width: root.implicitWidth + sourceSize.height: root.implicitHeight + + source: '../../../icons/lightning.png' + } + Image { + sourceSize.width: root.implicitWidth + sourceSize.height: root.implicitHeight + fillMode: Image.Pad + horizontalAlignment: Image.AlignLeft + verticalAlignment: Image.AlignTop - sourceSize.width: constants.iconSizeMedium - sourceSize.height: constants.iconSizeMedium + source: '../../../icons/lightning_disconnected.png' - source: Daemon.currentWallet.lightningNumPeers - ? '../../../icons/lightning.png' - : '../../../icons/lightning_disconnected.png' + height: constants.iconSizeMedium * (100 - gossipProgress) / 100 + } } diff --git a/electrum/gui/qml/components/main.qml b/electrum/gui/qml/components/main.qml index b03611c21..523cb73cb 100644 --- a/electrum/gui/qml/components/main.qml +++ b/electrum/gui/qml/components/main.qml @@ -102,7 +102,6 @@ ApplicationWindow } LightningNetworkStatusIndicator { - visible: Daemon.currentWallet.isLightning MouseArea { anchors.fill: parent onClicked: {