MCPcopy Create free account
hub / github.com/ElementsProject/elements / setBalance

Method setBalance

src/qt/overviewpage.cpp:196–236  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

194}
195
196void 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
239void OverviewPage::updateWatchOnlyLabels(bool showWatchOnly)

Callers

nothing calls this directly

Calls 7

formatMultiAssetAmountFunction · 0.85
getDisplayUnitMethod · 0.80
isLegacyMethod · 0.80
privateKeysDisabledMethod · 0.80
setTextMethod · 0.80
getOptionsModelMethod · 0.45
walletMethod · 0.45

Tested by

no test coverage detected