| 194 | } |
| 195 | |
| 196 | void OverviewPage::setBalance(const interfaces::WalletBalances& balances) |
| 197 | { |
| 198 | int unit = walletModel->getOptionsModel()->getDisplayUnit(); |
| 199 | m_balances = balances; |
| 200 | |
| 201 | if (walletModel->wallet().isLegacy()) { |
| 202 | if (walletModel->wallet().privateKeysDisabled()) { |
| 203 | ui->labelBalance->setText(GUIUtil::formatMultiAssetAmount(balances.watch_only_balance, unit, BitcoinUnits::SeparatorStyle::ALWAYS, "\n")); |
| 204 | ui->labelUnconfirmed->setText(GUIUtil::formatMultiAssetAmount(balances.unconfirmed_watch_only_balance, unit, BitcoinUnits::SeparatorStyle::ALWAYS, "\n")); |
| 205 | ui->labelImmature->setText(GUIUtil::formatMultiAssetAmount(balances.immature_watch_only_balance, unit, BitcoinUnits::SeparatorStyle::ALWAYS, "\n")); |
| 206 | ui->labelTotal->setText(GUIUtil::formatMultiAssetAmount(balances.watch_only_balance + balances.unconfirmed_watch_only_balance + balances.immature_watch_only_balance, unit, BitcoinUnits::SeparatorStyle::ALWAYS, "\n")); |
| 207 | } else { |
| 208 | ui->labelBalance->setText(GUIUtil::formatMultiAssetAmount(balances.balance, unit, BitcoinUnits::SeparatorStyle::ALWAYS, "\n")); |
| 209 | ui->labelUnconfirmed->setText(GUIUtil::formatMultiAssetAmount(balances.unconfirmed_balance, unit, BitcoinUnits::SeparatorStyle::ALWAYS, "\n")); |
| 210 | ui->labelImmature->setText(GUIUtil::formatMultiAssetAmount(balances.immature_balance, unit, BitcoinUnits::SeparatorStyle::ALWAYS, "\n")); |
| 211 | ui->labelTotal->setText(GUIUtil::formatMultiAssetAmount(balances.balance + balances.unconfirmed_balance + balances.immature_balance, unit, BitcoinUnits::SeparatorStyle::ALWAYS, "\n")); |
| 212 | ui->labelWatchAvailable->setText(GUIUtil::formatMultiAssetAmount(balances.watch_only_balance, unit, BitcoinUnits::SeparatorStyle::ALWAYS, "\n")); |
| 213 | ui->labelWatchPending->setText(GUIUtil::formatMultiAssetAmount(balances.unconfirmed_watch_only_balance, unit, BitcoinUnits::SeparatorStyle::ALWAYS, "\n")); |
| 214 | ui->labelWatchImmature->setText(GUIUtil::formatMultiAssetAmount(balances.immature_watch_only_balance, unit, BitcoinUnits::SeparatorStyle::ALWAYS, "\n")); |
| 215 | ui->labelWatchTotal->setText(GUIUtil::formatMultiAssetAmount(balances.watch_only_balance + balances.unconfirmed_watch_only_balance + balances.immature_watch_only_balance, unit, BitcoinUnits::SeparatorStyle::ALWAYS, "\n")); |
| 216 | } |
| 217 | } else { |
| 218 | ui->labelBalance->setText(GUIUtil::formatMultiAssetAmount(balances.balance, unit, BitcoinUnits::SeparatorStyle::ALWAYS, "\n")); |
| 219 | ui->labelUnconfirmed->setText(GUIUtil::formatMultiAssetAmount(balances.unconfirmed_balance, unit, BitcoinUnits::SeparatorStyle::ALWAYS, "\n")); |
| 220 | ui->labelImmature->setText(GUIUtil::formatMultiAssetAmount(balances.immature_balance, unit, BitcoinUnits::SeparatorStyle::ALWAYS, "\n")); |
| 221 | ui->labelTotal->setText(GUIUtil::formatMultiAssetAmount(balances.balance + balances.unconfirmed_balance + balances.immature_balance, unit, BitcoinUnits::SeparatorStyle::ALWAYS, "\n")); |
| 222 | } |
| 223 | // only show immature (newly mined) balance if it's non-zero, so as not to complicate things |
| 224 | // for the non-mining users |
| 225 | bool showImmature = !!balances.immature_balance; |
| 226 | bool showWatchOnlyImmature = !!balances.immature_watch_only_balance; |
| 227 | |
| 228 | // for symmetry reasons also show immature label when the watch-only one is shown |
| 229 | ui->labelImmature->setVisible(showImmature || showWatchOnlyImmature); |
| 230 | ui->labelImmatureText->setVisible(showImmature || showWatchOnlyImmature); |
| 231 | ui->labelWatchImmature->setVisible(!walletModel->wallet().privateKeysDisabled() && showWatchOnlyImmature); // show watch-only immature balance |
| 232 | |
| 233 | // Resize the QScrollArea content widget |
| 234 | QSize grid_size = ui->gridLayout->sizeHint(); |
| 235 | ui->scrollAreaWidgetContents->setMinimumSize(grid_size); |
| 236 | } |
| 237 | |
| 238 | // show/hide watch-only labels |
| 239 | void OverviewPage::updateWatchOnlyLabels(bool showWatchOnly) |
nothing calls this directly
no test coverage detected