From ccc403505600eb71d0cc28f3e510829d97ff09d7 Mon Sep 17 00:00:00 2001 From: benthecarman Date: Sat, 29 May 2021 05:00:00 -0700 Subject: [PATCH] Sync Height on screen (#3196) --- .../src/main/scala/org/bitcoins/gui/GlobalData.scala | 4 +++- .../src/main/scala/org/bitcoins/gui/WalletGUI.scala | 11 ++++++++++- .../main/scala/org/bitcoins/gui/WalletGUIModel.scala | 10 ++++++++++ .../src/main/scala/org/bitcoins/gui/dlc/DLCPane.scala | 2 +- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/app/gui/src/main/scala/org/bitcoins/gui/GlobalData.scala b/app/gui/src/main/scala/org/bitcoins/gui/GlobalData.scala index 08ca147c59cc..520b36c1923f 100644 --- a/app/gui/src/main/scala/org/bitcoins/gui/GlobalData.scala +++ b/app/gui/src/main/scala/org/bitcoins/gui/GlobalData.scala @@ -5,7 +5,7 @@ import org.bitcoins.core.config._ import org.bitcoins.core.wallet.fee.{FeeUnit, SatoshisPerVirtualByte} import org.bitcoins.crypto.DoubleSha256DigestBE import org.bitcoins.gui.settings.Themes -import scalafx.beans.property.StringProperty +import scalafx.beans.property.{LongProperty, StringProperty} object GlobalData { val currentConfirmedBalance: StringProperty = StringProperty("0") @@ -13,6 +13,8 @@ object GlobalData { val currentReservedBalance: StringProperty = StringProperty("0") val currentTotalBalance: StringProperty = StringProperty("0") + val syncHeight: LongProperty = LongProperty(0L) + var network: BitcoinNetwork = _ val log: StringProperty = StringProperty("") diff --git a/app/gui/src/main/scala/org/bitcoins/gui/WalletGUI.scala b/app/gui/src/main/scala/org/bitcoins/gui/WalletGUI.scala index 73d6bb776675..f432640c662d 100644 --- a/app/gui/src/main/scala/org/bitcoins/gui/WalletGUI.scala +++ b/app/gui/src/main/scala/org/bitcoins/gui/WalletGUI.scala @@ -19,6 +19,11 @@ abstract class WalletGUI { text <== GlobalData.statusText } + private lazy val infoLabel = new Label { + padding = Insets(top = 0, right = 0, bottom = 10, left = 0) + text <== StringProperty("Sync Height: ") + GlobalData.syncHeight + } + def fetchStartingData(): Unit = { model.startWalletInfoScheduler() model.updateFeeRate() @@ -82,11 +87,15 @@ abstract class WalletGUI { children = Vector(balanceBox, getNewAddressButton, sendButton) } + lazy val bottomStack: StackPane = new StackPane() { + children = Vector(statusLabel, infoLabel) + } + lazy val borderPane: BorderPane = new BorderPane { top = AppMenuBar.menuBar(model) left = sidebar center = dlcPane.borderPane - bottom = statusLabel + bottom = bottomStack } lazy val rootView: StackPane = new StackPane { diff --git a/app/gui/src/main/scala/org/bitcoins/gui/WalletGUIModel.scala b/app/gui/src/main/scala/org/bitcoins/gui/WalletGUIModel.scala index 5e48b435cbf0..4396dd787b68 100644 --- a/app/gui/src/main/scala/org/bitcoins/gui/WalletGUIModel.scala +++ b/app/gui/src/main/scala/org/bitcoins/gui/WalletGUIModel.scala @@ -32,6 +32,7 @@ class WalletGUIModel()(implicit system: ActorSystem) { override def run(): Unit = { Platform.runLater { updateBalance() + updateWalletInfo() } } } @@ -103,6 +104,15 @@ class WalletGUIModel()(implicit system: ActorSystem) { AboutDialog.showAndWait(parentWindow.value) } + private def updateWalletInfo(): Unit = { + ConsoleCli.exec(WalletInfo, GlobalData.consoleCliConfig) match { + case Failure(_) => () + case Success(commandReturn) => + val json = ujson.read(commandReturn).obj("wallet").obj + GlobalData.syncHeight.value = json("height").num.toLong + } + } + private def updateBalance(): Unit = { ConsoleCli.exec(GetBalances(isSats = true), GlobalData.consoleCliConfig) match { diff --git a/app/gui/src/main/scala/org/bitcoins/gui/dlc/DLCPane.scala b/app/gui/src/main/scala/org/bitcoins/gui/dlc/DLCPane.scala index a337f925d09b..d59f5431952e 100644 --- a/app/gui/src/main/scala/org/bitcoins/gui/dlc/DLCPane.scala +++ b/app/gui/src/main/scala/org/bitcoins/gui/dlc/DLCPane.scala @@ -24,7 +24,7 @@ class DLCPane(glassPane: VBox) { } private val resultArea = new BorderPane() { - padding = Insets(10) + padding = Insets(top = 10, right = 0, bottom = 10, left = 0) center = resultTextArea }