Skip to content

Commit 7dbe9ac

Browse files
committed
Merge pull request #3567
22a5120 [Qt] Show and store message of normal bitcoin:URI (Cozz Lovan)
2 parents 21d50c2 + 22a5120 commit 7dbe9ac

File tree

4 files changed

+33
-0
lines changed

4 files changed

+33
-0
lines changed

src/qt/forms/sendcoinsentry.ui

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,23 @@
141141
<item row="2" column="1">
142142
<widget class="BitcoinAmountField" name="payAmount"/>
143143
</item>
144+
<item row="3" column="0">
145+
<widget class="QLabel" name="messageLabel">
146+
<property name="text">
147+
<string>Message:</string>
148+
</property>
149+
<property name="alignment">
150+
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
151+
</property>
152+
</widget>
153+
</item>
154+
<item row="3" column="1">
155+
<widget class="QLabel" name="messageTextLabel">
156+
<property name="textFormat">
157+
<enum>Qt::PlainText</enum>
158+
</property>
159+
</widget>
160+
</item>
144161
</layout>
145162
</widget>
146163
<widget class="QFrame" name="SendCoins_InsecurePaymentRequest">

src/qt/sendcoinsentry.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,9 @@ void SendCoinsEntry::clear()
8888
ui->payTo->clear();
8989
ui->addAsLabel->clear();
9090
ui->payAmount->clear();
91+
ui->messageTextLabel->clear();
92+
ui->messageTextLabel->hide();
93+
ui->messageLabel->hide();
9194
// clear UI elements for insecure payment request
9295
ui->payTo_is->clear();
9396
ui->memoTextLabel_is->clear();
@@ -148,6 +151,7 @@ SendCoinsRecipient SendCoinsEntry::getValue()
148151
recipient.address = ui->payTo->text();
149152
recipient.label = ui->addAsLabel->text();
150153
recipient.amount = ui->payAmount->value();
154+
recipient.message = ui->messageTextLabel->text();
151155

152156
return recipient;
153157
}
@@ -188,6 +192,11 @@ void SendCoinsEntry::setValue(const SendCoinsRecipient &value)
188192
}
189193
else // normal payment
190194
{
195+
// message
196+
ui->messageTextLabel->setText(recipient.message);
197+
ui->messageTextLabel->setVisible(!recipient.message.isEmpty());
198+
ui->messageLabel->setVisible(!recipient.message.isEmpty());
199+
191200
ui->payTo->setText(recipient.address);
192201
ui->addAsLabel->setText(recipient.label);
193202
ui->payAmount->setValue(recipient.amount);

src/qt/transactiondesc.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,11 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, int vout, int u
224224

225225
strHTML += "<b>" + tr("Transaction ID") + ":</b> " + TransactionRecord::formatSubTxId(wtx.GetHash(), vout) + "<br>";
226226

227+
// Message from normal bitcoin:URI (bitcoin:123...?message=example)
228+
foreach (const PAIRTYPE(string, string)& r, wtx.vOrderForm)
229+
if (r.first == "Message")
230+
strHTML += "<br><b>" + tr("Message") + ":</b><br>" + GUIUtil::HtmlEscape(r.second, true) + "<br>";
231+
227232
//
228233
// PaymentRequest info:
229234
//

src/qt/walletmodel.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,8 @@ WalletModel::SendCoinsReturn WalletModel::sendCoins(WalletModelTransaction &tran
269269
rcp.paymentRequest.SerializeToString(&value);
270270
newTx->vOrderForm.push_back(make_pair(key, value));
271271
}
272+
else if (!rcp.message.isEmpty()) // Message from normal bitcoin:URI (bitcoin:123...?message=example)
273+
newTx->vOrderForm.push_back(make_pair("Message", rcp.message.toStdString()));
272274
}
273275

274276
CReserveKey *keyChange = transaction.getPossibleKeyChange();

0 commit comments

Comments
 (0)