diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -1138,7 +1138,7 @@
3
-
-
+
0
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -660,8 +660,13 @@
void SendCoinsDialog::setBalance(const interfaces::WalletBalances &balances) {
if (model && model->getOptionsModel()) {
+ Amount balance = balances.balance;
+ if (model->wallet().privateKeysDisabled()) {
+ balance = balances.watch_only_balance;
+ ui->labelBalanceName->setText(tr("Watch-only balance:"));
+ }
ui->labelBalance->setText(BitcoinUnits::formatWithUnit(
- model->getOptionsModel()->getDisplayUnit(), balances.balance));
+ model->getOptionsModel()->getDisplayUnit(), balance));
}
}
diff --git a/src/qt/test/wallettests.cpp b/src/qt/test/wallettests.cpp
--- a/src/qt/test/wallettests.cpp
+++ b/src/qt/test/wallettests.cpp
@@ -151,9 +151,21 @@
WalletModel walletModel(interfaces::MakeWallet(wallet), node,
platformStyle.get(), &optionsModel);
RemoveWallet(wallet);
+ SendCoinsDialog sendCoinsDialog(platformStyle.get(), &walletModel);
+
+ {
+ // Check balance in send dialog
+ QLabel *balanceLabel =
+ sendCoinsDialog.findChild("labelBalance");
+ QString balanceText = balanceLabel->text();
+ int unit = walletModel.getOptionsModel()->getDisplayUnit();
+ Amount balance = walletModel.wallet().getBalance();
+ QString balanceComparison = BitcoinUnits::formatWithUnit(
+ unit, balance, false, BitcoinUnits::separatorAlways);
+ QCOMPARE(balanceText, balanceComparison);
+ }
// Send two transactions, and verify they are added to transaction list.
- SendCoinsDialog sendCoinsDialog(platformStyle.get(), &walletModel);
TransactionTableModel *transactionTableModel =
walletModel.getTransactionTableModel();
QCOMPARE(transactionTableModel->rowCount({}), 105);