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

Method updateView

src/qt/coincontroldialog.cpp:581–710  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

579}
580
581void CoinControlDialog::updateView()
582{
583 if (!model || !model->getOptionsModel() || !model->getAddressTableModel())
584 return;
585
586 bool treeMode = ui->radioTreeMode->isChecked();
587
588 ui->treeWidget->clear();
589 ui->treeWidget->setEnabled(false); // performance, otherwise updateLabels would be called for every checked checkbox
590 ui->treeWidget->setAlternatingRowColors(!treeMode);
591 QFlags<Qt::ItemFlag> flgCheckbox = Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsUserCheckable;
592 QFlags<Qt::ItemFlag> flgTristate = Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsUserCheckable | Qt::ItemIsTristate;
593
594 int nDisplayUnit = model->getOptionsModel()->getDisplayUnit();
595
596 for (const auto& coins : model->wallet().listCoins()) {
597 CCoinControlWidgetItem* itemWalletAddress{nullptr};
598 QString sWalletAddress = QString::fromStdString(EncodeDestination(coins.first));
599 QString sWalletLabel = model->getAddressTableModel()->labelForAddress(sWalletAddress);
600 if (sWalletLabel.isEmpty())
601 sWalletLabel = tr("(no label)");
602
603 if (treeMode)
604 {
605 // wallet address
606 itemWalletAddress = new CCoinControlWidgetItem(ui->treeWidget);
607
608 itemWalletAddress->setFlags(flgTristate);
609 itemWalletAddress->setCheckState(COLUMN_CHECKBOX, Qt::Unchecked);
610
611 // label
612 itemWalletAddress->setText(COLUMN_LABEL, sWalletLabel);
613
614 // address
615 itemWalletAddress->setText(COLUMN_ADDRESS, sWalletAddress);
616 }
617
618 CAmount nSum = 0;
619 int nChildren = 0;
620 for (const auto& outpair : coins.second) {
621 const COutPoint& output = std::get<0>(outpair);
622 const interfaces::WalletTxOut& out = std::get<1>(outpair);
623 nSum += out.txout.nValue.GetAmount();
624 nChildren++;
625
626 CCoinControlWidgetItem *itemOutput;
627 if (treeMode) itemOutput = new CCoinControlWidgetItem(itemWalletAddress);
628 else itemOutput = new CCoinControlWidgetItem(ui->treeWidget);
629 itemOutput->setFlags(flgCheckbox);
630 itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Unchecked);
631
632 // address
633 CTxDestination outputAddress;
634 QString sAddress = "";
635 if(ExtractDestination(out.txout.scriptPubKey, outputAddress))
636 {
637 sAddress = QString::fromStdString(EncodeDestination(outputAddress));
638

Callers

nothing calls this directly

Calls 15

EncodeDestinationFunction · 0.85
ExtractDestinationFunction · 0.85
dateTimeStrFunction · 0.85
getAddressTableModelMethod · 0.80
getDisplayUnitMethod · 0.80
listCoinsMethod · 0.80
labelForAddressMethod · 0.80
setTextMethod · 0.80
GetAmountMethod · 0.80
isLockedCoinMethod · 0.80
UnSelectMethod · 0.80
SingleColorIconMethod · 0.80

Tested by

no test coverage detected