diff --git a/src/main/java/com/sparrowwallet/sparrow/control/CoinAxisFormatter.java b/src/main/java/com/sparrowwallet/sparrow/control/CoinAxisFormatter.java index 1f3f8f25..a1109842 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/CoinAxisFormatter.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/CoinAxisFormatter.java @@ -2,6 +2,7 @@ package com.sparrowwallet.sparrow.control; import com.sparrowwallet.drongo.BitcoinUnit; import com.sparrowwallet.sparrow.UnitFormat; +import com.sparrowwallet.sparrow.io.Config; import javafx.scene.chart.NumberAxis; import javafx.util.StringConverter; @@ -18,6 +19,9 @@ final class CoinAxisFormatter extends StringConverter { @Override public String toString(Number object) { + if(Config.get().isHideAmounts()) { + return ""; + } Double value = bitcoinUnit.getValue(object.longValue()); return new CoinTextFormatter(unitFormat).getCoinFormat().format(value); } diff --git a/src/main/java/com/sparrowwallet/sparrow/control/CoinCell.java b/src/main/java/com/sparrowwallet/sparrow/control/CoinCell.java index 12375a57..285fed4e 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/CoinCell.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/CoinCell.java @@ -50,24 +50,30 @@ class CoinCell extends TreeTableCell implements ConfirmationsList Entry entry = getTreeTableView().getTreeItem(getIndex()).getValue(); EntryCell.applyRowStyles(this, entry); - CoinTreeTable coinTreeTable = (CoinTreeTable)getTreeTableView(); - UnitFormat format = coinTreeTable.getUnitFormat(); - BitcoinUnit unit = coinTreeTable.getBitcoinUnit(); - - String satsValue = format.formatSatsValue(amount.longValue()); - DecimalFormat decimalFormat = (amount.longValue() == 0L ? format.getBtcFormat() : format.getTableBtcFormat()); - final String btcValue = decimalFormat.format(amount.doubleValue() / Transaction.SATOSHIS_PER_BITCOIN); - - if(unit.equals(BitcoinUnit.BTC)) { - tooltip.setValue(satsValue + " " + BitcoinUnit.SATOSHIS.getLabel()); - setText(btcValue); + if(Config.get().isHideAmounts()) { + setText("*****"); + setTooltip(null); + setContextMenu(null); } else { - tooltip.setValue(btcValue + " " + BitcoinUnit.BTC.getLabel()); - setText(satsValue); + CoinTreeTable coinTreeTable = (CoinTreeTable)getTreeTableView(); + UnitFormat format = coinTreeTable.getUnitFormat(); + BitcoinUnit unit = coinTreeTable.getBitcoinUnit(); + + String satsValue = format.formatSatsValue(amount.longValue()); + DecimalFormat decimalFormat = (amount.longValue() == 0L ? format.getBtcFormat() : format.getTableBtcFormat()); + final String btcValue = decimalFormat.format(amount.doubleValue() / Transaction.SATOSHIS_PER_BITCOIN); + + if(unit.equals(BitcoinUnit.BTC)) { + tooltip.setValue(satsValue + " " + BitcoinUnit.SATOSHIS.getLabel()); + setText(btcValue); + } else { + tooltip.setValue(btcValue + " " + BitcoinUnit.BTC.getLabel()); + setText(satsValue); + } + setTooltip(tooltip); + contextMenu.updateAmount(amount); + setContextMenu(contextMenu); } - setTooltip(tooltip); - contextMenu.updateAmount(amount); - setContextMenu(contextMenu); if(entry instanceof TransactionEntry transactionEntry) { tooltip.showConfirmations(transactionEntry.confirmationsProperty(), transactionEntry.isCoinbase()); @@ -95,7 +101,7 @@ class CoinCell extends TreeTableCell implements ConfirmationsList setContentDisplay(ContentDisplay.RIGHT); if(((HashIndexEntry) entry).getType() == HashIndexEntry.Type.INPUT) { - satsValue = "-" + satsValue; + setText("-" + getText()); } } else { setGraphic(null); diff --git a/src/main/java/com/sparrowwallet/sparrow/control/CoinLabel.java b/src/main/java/com/sparrowwallet/sparrow/control/CoinLabel.java index 31130465..d7944f35 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/CoinLabel.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/CoinLabel.java @@ -49,6 +49,13 @@ public class CoinLabel extends Label { } private void setValueAsText(Long value, BitcoinUnit bitcoinUnit) { + if(Config.get().isHideAmounts()) { + setText("*****"); + setTooltip(null); + setContextMenu(null); + return; + } + setTooltip(tooltip); setContextMenu(contextMenu); diff --git a/src/main/java/com/sparrowwallet/sparrow/control/CopyableCoinLabel.java b/src/main/java/com/sparrowwallet/sparrow/control/CopyableCoinLabel.java index 1a6a6021..aa357107 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/CopyableCoinLabel.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/CopyableCoinLabel.java @@ -72,6 +72,13 @@ public class CopyableCoinLabel extends CopyableLabel { } private void setValueAsText(Long value, UnitFormat unitFormat, BitcoinUnit bitcoinUnit) { + if(Config.get().isHideAmounts()) { + setText("*****"); + setTooltip(null); + setContextMenu(null); + return; + } + setTooltip(tooltip); setContextMenu(contextMenu); diff --git a/src/main/java/com/sparrowwallet/sparrow/control/FiatCell.java b/src/main/java/com/sparrowwallet/sparrow/control/FiatCell.java index 6036bfa0..fd1b2acf 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/FiatCell.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/FiatCell.java @@ -4,6 +4,7 @@ import com.sparrowwallet.drongo.OsType; import com.sparrowwallet.drongo.protocol.Transaction; import com.sparrowwallet.sparrow.CurrencyRate; import com.sparrowwallet.sparrow.UnitFormat; +import com.sparrowwallet.sparrow.io.Config; import com.sparrowwallet.sparrow.wallet.Entry; import javafx.scene.control.ContextMenu; import javafx.scene.control.MenuItem; @@ -47,20 +48,27 @@ public class FiatCell extends TreeTableCell { CurrencyRate currencyRate = coinTreeTable.getCurrencyRate(); if(currencyRate != null && currencyRate.isAvailable()) { - Currency currency = currencyRate.getCurrency(); - double btcRate = currencyRate.getBtcRate(); + if(Config.get().isHideAmounts()) { + setText("*****"); + setGraphic(null); + setTooltip(null); + setContextMenu(null); + } else { + Currency currency = currencyRate.getCurrency(); + double btcRate = currencyRate.getBtcRate(); - BigDecimal satsBalance = BigDecimal.valueOf(amount.longValue()); - BigDecimal btcBalance = satsBalance.divide(BigDecimal.valueOf(Transaction.SATOSHIS_PER_BITCOIN)); - BigDecimal fiatBalance = btcBalance.multiply(BigDecimal.valueOf(btcRate)); + BigDecimal satsBalance = BigDecimal.valueOf(amount.longValue()); + BigDecimal btcBalance = satsBalance.divide(BigDecimal.valueOf(Transaction.SATOSHIS_PER_BITCOIN)); + BigDecimal fiatBalance = btcBalance.multiply(BigDecimal.valueOf(btcRate)); - String label = format.formatCurrencyValue(fiatBalance.doubleValue()); - tooltip.setText("1 BTC = " + currency.getSymbol() + " " + format.formatCurrencyValue(btcRate)); + String label = format.formatCurrencyValue(fiatBalance.doubleValue()); + tooltip.setText("1 BTC = " + currency.getSymbol() + " " + format.formatCurrencyValue(btcRate)); - setText(label); - setGraphic(null); - setTooltip(tooltip); - setContextMenu(contextMenu); + setText(label); + setGraphic(null); + setTooltip(tooltip); + setContextMenu(contextMenu); + } } else { setText(null); setGraphic(null); diff --git a/src/main/java/com/sparrowwallet/sparrow/control/FiatLabel.java b/src/main/java/com/sparrowwallet/sparrow/control/FiatLabel.java index e17635ac..5d2e1f54 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/FiatLabel.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/FiatLabel.java @@ -90,6 +90,12 @@ public class FiatLabel extends CopyableLabel { private void setValueAsText(long balance, UnitFormat unitFormat) { if(getCurrency() != null && getBtcRate() > 0.0) { + if(Config.get().isHideAmounts()) { + setText("*****"); + setTooltip(null); + setContextMenu(null); + return; + } BigDecimal satsBalance = BigDecimal.valueOf(balance); BigDecimal btcBalance = satsBalance.divide(BigDecimal.valueOf(Transaction.SATOSHIS_PER_BITCOIN)); BigDecimal fiatBalance = btcBalance.multiply(BigDecimal.valueOf(getBtcRate())); diff --git a/src/main/java/com/sparrowwallet/sparrow/control/UtxosChart.java b/src/main/java/com/sparrowwallet/sparrow/control/UtxosChart.java index 1e4bfe20..4f579d1f 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/UtxosChart.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/UtxosChart.java @@ -90,6 +90,10 @@ public class UtxosChart extends BarChart { private void installTooltip(XYChart.Data item) { Tooltip.uninstall(item.getNode(), null); + if(Config.get().isHideAmounts()) { + return; + } + String satsValue = String.format(Locale.ENGLISH, "%,d", item.getYValue()); Tooltip tooltip = new Tooltip(item.getXValue() + "\n" + satsValue + " sats"); tooltip.setShowDelay(Duration.millis(TOOLTIP_SHOW_DELAY));