addressTableModel->update();
}
-ClientModel::StatusCode ClientModel::sendCoins(const QString &payTo, qint64 payAmount)
+ClientModel::StatusCode ClientModel::sendCoins(const QString &payTo, qint64 payAmount, const QString &addToAddressBookAs)
{
uint160 hash160 = 0;
bool valid = false;
std::string strError = SendMoney(scriptPubKey, payAmount, wtx, true);
if (strError == "")
{
- return OK;
+ // OK
}
else if (strError == "ABORTED")
{
return MiscError;
}
}
+
// Add addresses that we've sent to to the address book
std::string strAddress = payTo.toStdString();
CRITICAL_BLOCK(cs_mapAddressBook)
if (!mapAddressBook.count(strAddress))
- SetAddressBookName(strAddress, "");
+ SetAddressBookName(strAddress, addToAddressBookAs.toStdString());
return OK;
}
int getTotalBlocksEstimate() const;
/* Send coins */
- StatusCode sendCoins(const QString &payTo, qint64 payAmount);
+ StatusCode sendCoins(const QString &payTo, qint64 payAmount, const QString &addToAddressBookAs=QString());
private:
OptionsModel *optionsModel;
AddressTableModel *addressTableModel;
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
- <item row="4" column="0">
+ <item row="5" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>&Amount:</string>
</property>
</widget>
</item>
- <item row="4" column="1">
+ <item row="5" column="1">
<widget class="BitcoinAmountField" name="payAmount" native="true"/>
</item>
+ <item row="4" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QCheckBox" name="addToAddressBook">
+ <property name="toolTip">
+ <string>Add specified destination address to address book</string>
+ </property>
+ <property name="text">
+ <string>Add to address book as</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="addAsLabel">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="toolTip">
+ <string>Label to add address as</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
</layout>
</item>
<item>
</customwidgets>
<tabstops>
<tabstop>payTo</tabstop>
+ <tabstop>addToAddressBook</tabstop>
+ <tabstop>addAsLabel</tabstop>
<tabstop>payAmount</tabstop>
<tabstop>pasteButton</tabstop>
<tabstop>addressBookButton</tabstop>
{
bool valid;
QString payAmount = ui->payAmount->text();
+ QString label;
qint64 payAmountParsed;
valid = ParseMoney(payAmount.toStdString(), payAmountParsed);
return;
}
- switch(model->sendCoins(ui->payTo->text(), payAmountParsed))
+ if(ui->addToAddressBook->isChecked())
+ {
+ // Add address to address book under label, if specified
+ label = ui->addAsLabel->text();
+ }
+
+ switch(model->sendCoins(ui->payTo->text(), payAmountParsed, label))
{
case ClientModel::InvalidAddress:
QMessageBox::warning(this, tr("Send Coins"),
{
reject();
}
+
+void SendCoinsDialog::on_addToAddressBook_toggled(bool checked)
+{
+ ui->addAsLabel->setEnabled(checked);
+}
ClientModel *model;
private slots:
+ void on_addToAddressBook_toggled(bool checked);
void on_buttonBox_rejected();
void on_addressBookButton_clicked();
void on_pasteButton_clicked();