Changeset View
Changeset View
Standalone View
Standalone View
src/qt/sendcoinsentry.cpp
// Copyright (c) 2011-2016 The Bitcoin Core developers | // Copyright (c) 2011-2016 The Bitcoin Core developers | ||||
// Distributed under the MIT software license, see the accompanying | // Distributed under the MIT software license, see the accompanying | ||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
#if defined(HAVE_CONFIG_H) | |||||
#include <config/bitcoin-config.h> | |||||
#endif | |||||
#include <qt/forms/ui_sendcoinsentry.h> | #include <qt/forms/ui_sendcoinsentry.h> | ||||
#include <qt/sendcoinsentry.h> | #include <qt/sendcoinsentry.h> | ||||
#include <config.h> | #include <config.h> | ||||
#include <qt/addressbookpage.h> | #include <qt/addressbookpage.h> | ||||
#include <qt/addresstablemodel.h> | #include <qt/addresstablemodel.h> | ||||
#include <qt/guiutil.h> | #include <qt/guiutil.h> | ||||
#include <qt/optionsmodel.h> | #include <qt/optionsmodel.h> | ||||
▲ Show 20 Lines • Show All 133 Lines • ▼ Show 20 Lines | |||||
bool SendCoinsEntry::validate(interfaces::Node &node) { | bool SendCoinsEntry::validate(interfaces::Node &node) { | ||||
if (!model) { | if (!model) { | ||||
return false; | return false; | ||||
} | } | ||||
// Check input validity | // Check input validity | ||||
bool retval = true; | bool retval = true; | ||||
#ifdef ENABLE_BIP70 | |||||
// Skip checks for payment request | // Skip checks for payment request | ||||
if (recipient.paymentRequest.IsInitialized()) { | if (recipient.paymentRequest.IsInitialized()) { | ||||
return retval; | return retval; | ||||
} | } | ||||
#endif | |||||
if (!model->validateAddress(ui->payTo->text())) { | if (!model->validateAddress(ui->payTo->text())) { | ||||
ui->payTo->setValid(false); | ui->payTo->setValid(false); | ||||
retval = false; | retval = false; | ||||
} | } | ||||
if (!ui->payAmount->validate()) { | if (!ui->payAmount->validate()) { | ||||
retval = false; | retval = false; | ||||
Show All 12 Lines | if (retval && | ||||
ui->payAmount->setValid(false); | ui->payAmount->setValid(false); | ||||
retval = false; | retval = false; | ||||
} | } | ||||
return retval; | return retval; | ||||
} | } | ||||
SendCoinsRecipient SendCoinsEntry::getValue() { | SendCoinsRecipient SendCoinsEntry::getValue() { | ||||
#ifdef ENABLE_BIP70 | |||||
// Payment request | // Payment request | ||||
if (recipient.paymentRequest.IsInitialized()) { | if (recipient.paymentRequest.IsInitialized()) { | ||||
return recipient; | return recipient; | ||||
} | } | ||||
#endif | |||||
// Normal payment | // Normal payment | ||||
recipient.address = ui->payTo->text(); | recipient.address = ui->payTo->text(); | ||||
recipient.label = ui->addAsLabel->text(); | recipient.label = ui->addAsLabel->text(); | ||||
recipient.amount = ui->payAmount->value(); | recipient.amount = ui->payAmount->value(); | ||||
recipient.message = ui->messageTextLabel->text(); | recipient.message = ui->messageTextLabel->text(); | ||||
recipient.fSubtractFeeFromAmount = | recipient.fSubtractFeeFromAmount = | ||||
(ui->checkboxSubtractFeeFromAmount->checkState() == Qt::Checked); | (ui->checkboxSubtractFeeFromAmount->checkState() == Qt::Checked); | ||||
Show All 11 Lines | QWidget *SendCoinsEntry::setupTabChain(QWidget *prev) { | ||||
QWidget::setTabOrder(ui->addressBookButton, ui->pasteButton); | QWidget::setTabOrder(ui->addressBookButton, ui->pasteButton); | ||||
QWidget::setTabOrder(ui->pasteButton, ui->deleteButton); | QWidget::setTabOrder(ui->pasteButton, ui->deleteButton); | ||||
return ui->deleteButton; | return ui->deleteButton; | ||||
} | } | ||||
void SendCoinsEntry::setValue(const SendCoinsRecipient &value) { | void SendCoinsEntry::setValue(const SendCoinsRecipient &value) { | ||||
recipient = value; | recipient = value; | ||||
#ifdef ENABLE_BIP70 | |||||
// payment request | // payment request | ||||
if (recipient.paymentRequest.IsInitialized()) { | if (recipient.paymentRequest.IsInitialized()) { | ||||
// unauthenticated | // unauthenticated | ||||
if (recipient.authenticatedMerchant.isEmpty()) { | if (recipient.authenticatedMerchant.isEmpty()) { | ||||
ui->payTo_is->setText(recipient.address); | ui->payTo_is->setText(recipient.address); | ||||
ui->memoTextLabel_is->setText(recipient.message); | ui->memoTextLabel_is->setText(recipient.message); | ||||
ui->payAmount_is->setValue(recipient.amount); | ui->payAmount_is->setValue(recipient.amount); | ||||
ui->payAmount_is->setReadOnly(true); | ui->payAmount_is->setReadOnly(true); | ||||
setCurrentWidget(ui->SendCoins_UnauthenticatedPaymentRequest); | setCurrentWidget(ui->SendCoins_UnauthenticatedPaymentRequest); | ||||
} | } | ||||
// authenticated | // authenticated | ||||
else { | else { | ||||
ui->payTo_s->setText(recipient.authenticatedMerchant); | ui->payTo_s->setText(recipient.authenticatedMerchant); | ||||
ui->memoTextLabel_s->setText(recipient.message); | ui->memoTextLabel_s->setText(recipient.message); | ||||
ui->payAmount_s->setValue(recipient.amount); | ui->payAmount_s->setValue(recipient.amount); | ||||
ui->payAmount_s->setReadOnly(true); | ui->payAmount_s->setReadOnly(true); | ||||
setCurrentWidget(ui->SendCoins_AuthenticatedPaymentRequest); | setCurrentWidget(ui->SendCoins_AuthenticatedPaymentRequest); | ||||
} | } | ||||
} | } | ||||
// normal payment | // normal payment | ||||
else { | else | ||||
#endif | |||||
{ | |||||
// message | // message | ||||
ui->messageTextLabel->setText(recipient.message); | ui->messageTextLabel->setText(recipient.message); | ||||
ui->messageTextLabel->setVisible(!recipient.message.isEmpty()); | ui->messageTextLabel->setVisible(!recipient.message.isEmpty()); | ||||
ui->messageLabel->setVisible(!recipient.message.isEmpty()); | ui->messageLabel->setVisible(!recipient.message.isEmpty()); | ||||
ui->addAsLabel->clear(); | ui->addAsLabel->clear(); | ||||
// this may set a label from addressbook | // this may set a label from addressbook | ||||
ui->payTo->setText(recipient.address); | ui->payTo->setText(recipient.address); | ||||
▲ Show 20 Lines • Show All 54 Lines • Show Last 20 Lines |