From 06032be3324aa1b84feff72051c8cd173a84b055 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Tue, 19 May 2015 23:22:19 +0300 Subject: [PATCH] unset DS checkbox if there were non-anonymized inputs selected in coincontrol, give warning --- src/qt/coincontroldialog.cpp | 11 ++++++++++- src/qt/sendcoinsdialog.cpp | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index ec0bb56992a6..7a542c40905c 100755 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -385,8 +385,17 @@ void CoinControlDialog::viewItemChanged(QTreeWidgetItem* item, int column) coinControl->UnSelect(outpt); else if (item->isDisabled()) // locked (this happens if "check all" through parent node) item->setCheckState(COLUMN_CHECKBOX, Qt::Unchecked); - else + else { coinControl->Select(outpt); + CTxIn vin(outpt); + int rounds = GetInputDarksendRounds(vin); + if(coinControl->useDarkSend && rounds < nDarksendRounds) { + QMessageBox::warning(this, windowTitle(), + tr("Non-anonymized input selected. Darksend will be disabled.

If you still want to use Darksend, please deselect all non-nonymized inputs first and then check Darksend checkbox again."), + QMessageBox::Ok, QMessageBox::Ok); + coinControl->useDarkSend = false; + } + } // selection changed -> update labels if (ui->treeWidget->isEnabled()) // do not update on every click for (un)select all diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index b0a8f4a64924..9bdba8e0b908 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -684,6 +684,8 @@ void SendCoinsDialog::coinControlUpdateLabels() CoinControlDialog::payAmounts.append(entry->getValue().amount); } + ui->checkUseDarksend->setChecked(CoinControlDialog::coinControl->useDarkSend); + if (CoinControlDialog::coinControl->HasSelected()) { // actual coin control calculation