#include "ui_sendcoinsdialog.h"
#include "init.h"
+#include "base58.h"
#include "walletmodel.h"
#include "addresstablemodel.h"
#include "addressbookpage.h"
SendCoinsDialog::SendCoinsDialog(QWidget *parent) :
QDialog(parent, DIALOGWINDOWHINTS),
ui(new Ui::SendCoinsDialog),
- model(0)
+ model(0),
+ coinControl(0)
{
ui->setupUi(this);
ui->labelCoinControlChange->addAction(clipboardChangeAction);
fNewRecipientAllowed = true;
+
+ coinControl = new CoinControlDialog(0);
+ connect(coinControl, SIGNAL(beforeClose()), this, SLOT(coinControlUpdateLabels()));
}
void SendCoinsDialog::setModel(WalletModel *model)
SendCoinsDialog::~SendCoinsDialog()
{
+ delete coinControl;
delete ui;
}
if(!ui->lineEditCoinControlChange->hasAcceptableInput() ||
(model && !model->validateAddress(ui->lineEditCoinControlChange->text())))
{
- CoinControlDialog::coinControl->destChange = CNoDestination();
+ CoinControlDialog::coinControl->destChange = CBitcoinAddress();
ui->lineEditCoinControlChange->setValid(false);
valid = false;
}
else
- CoinControlDialog::coinControl->destChange = CBitcoinAddress(ui->lineEditCoinControlChange->text().toStdString()).Get();
+ CoinControlDialog::coinControl->destChange = CBitcoinAddress(ui->lineEditCoinControlChange->text().toStdString());
}
for(int i = 0; i < ui->entries->count(); ++i)
// Coin Control: button inputs -> show actual coin control dialog
void SendCoinsDialog::coinControlButtonClicked()
{
- CoinControlDialog dlg;
- dlg.setModel(model);
- dlg.exec();
- coinControlUpdateLabels();
+ coinControl->setModel(model);
+ coinControl->setWindowModality(Qt::ApplicationModal);
+ coinControl->show();
}
// Coin Control: checkbox custom change address
if (model)
{
if (state == Qt::Checked)
- CoinControlDialog::coinControl->destChange = CBitcoinAddress(ui->lineEditCoinControlChange->text().toStdString()).Get();
+ CoinControlDialog::coinControl->destChange = CBitcoinAddress(ui->lineEditCoinControlChange->text().toStdString());
else
- CoinControlDialog::coinControl->destChange = CNoDestination();
+ CoinControlDialog::coinControl->destChange = CBitcoinAddress();
}
ui->lineEditCoinControlChange->setEnabled((state == Qt::Checked));
{
if(!model)
return;
- AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::SendingTab, this);
+ AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::ReceivingTab, this);
dlg.setModel(model->getAddressTableModel());
if(dlg.exec())
{