X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fqt%2Fcoincontroldialog.cpp;h=998a992914ae0701aea841fcf8b8823b3c28a4ce;hb=9c9ba366ebc85b0d8eef6d962a9fa84cffe0cae7;hp=cedeadb291045ee78751218cda27d8c39f385f9d;hpb=3d779f87826dbd4edfcc25a597429ca701451a27;p=novacoin.git diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index cedeadb..998a992 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -2,6 +2,7 @@ #include "ui_coincontroldialog.h" #include "init.h" +#include "base58.h" #include "bitcoinunits.h" #include "walletmodel.h" #include "addresstablemodel.h" @@ -104,11 +105,10 @@ CoinControlDialog::CoinControlDialog(QWidget *parent) : #endif connect(ui->treeWidget->header(), SIGNAL(sectionClicked(int)), this, SLOT(headerSectionClicked(int))); - // ok button - connect(ui->buttonBox, SIGNAL(clicked()), this, SLOT(on_buttonBox_accepted())); - // (un)select all connect(ui->pushButtonSelectAll, SIGNAL(clicked()), this, SLOT(buttonSelectAllClicked())); + + ui->treeWidget->headerItem()->setText(COLUMN_CHECKBOX, QString()); ui->treeWidget->setColumnWidth(COLUMN_CHECKBOX, 84); ui->treeWidget->setColumnWidth(COLUMN_AMOUNT, 100); @@ -539,7 +539,7 @@ void CoinControlDialog::updateLabels(WalletModel *model, QWidget* dialog) l2->setText(BitcoinUnits::formatWithUnit(nDisplayUnit, nAmount)); // Amount l3->setText(BitcoinUnits::formatWithUnit(nDisplayUnit, nPayFee, false, 3)); // Fee l4->setText(BitcoinUnits::formatWithUnit(nDisplayUnit, nAfterFee)); // After Fee - l5->setText(((nBytes > 0) ? "~" : "") + QString::number(nBytes)); // Bytes + l5->setText(((nBytes > 0) ? ASYMP_UTF8 : "") + QString::number(nBytes)); // Bytes l6->setText(sPriorityLabel); // Priority l7->setText((fLowOutput ? (fDust ? tr("DUST") : tr("yes")) : tr("no"))); // Low Output / Dust l8->setText(BitcoinUnits::formatWithUnit(nDisplayUnit, nChange)); // Change @@ -631,6 +631,7 @@ void CoinControlDialog::updateView() itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Unchecked); // address +/* CTxDestination outputAddress; QString sAddress = ""; if(ExtractDestination(out.tx->vout[out.i].scriptPubKey, outputAddress)) @@ -646,6 +647,52 @@ void CoinControlDialog::updateView() if (keyid && model->getPubKey(*keyid, pubkey) && !pubkey.IsCompressed()) nInputSize = 180; } +*/ + QString sAddress = ""; + txnouttype whichType; + std::vector vSolutions; + if (Solver(out.tx->vout[out.i].scriptPubKey, whichType, vSolutions)) + { + CTxDestination address; + if (whichType == TX_PUBKEY) + { + // Pay-to-Pubkey + CPubKey pubKey = CPubKey(vSolutions[0]); + address = pubKey.GetID(); + sAddress = CBitcoinAddress(address).ToString().c_str(); + + if (!pubKey.IsCompressed()) + nInputSize = 180; + } + else if (whichType == TX_PUBKEYHASH) + { + // Pay-to-PubkeyHash + address = CKeyID(uint160(vSolutions[0])); + sAddress = CBitcoinAddress(address).ToString().c_str(); + + CPubKey pubkey; + CKeyID *keyid = boost::get< CKeyID >(&address); + if (keyid && model->getPubKey(*keyid, pubkey) && !pubkey.IsCompressed()) + nInputSize = 180; + } + else if (whichType == TX_SCRIPTHASH) + { + // Pay-to-ScriptHash + address = CScriptID(uint160(vSolutions[0])); + sAddress = CBitcoinAddress(address).ToString().c_str(); + } + else if (whichType == TX_PUBKEY_DROP) + { + // Pay-to-Pubkey-R + CMalleableKeyView view; + pwalletMain->CheckOwnership(CPubKey(vSolutions[0]), CPubKey(vSolutions[1]), view); + sAddress = view.GetMalleablePubKey().ToString().c_str(); + } + + // if listMode or change => show bitcoin address. In tree mode, address is not shown again for direct wallet address outputs + if (!treeMode || (!(sAddress == sWalletAddress))) + itemOutput->setText(COLUMN_ADDRESS, sAddress); + } // label if (!(sAddress == sWalletAddress)) // change @@ -757,4 +804,4 @@ void CoinControlDialog::closeEvent(QCloseEvent* e) { QWidget::closeEvent(e); emit beforeClose(); -} \ No newline at end of file +}