Browse Source

qt: add message field to SendCoinsRecipient

Also update URI parsing to fill in this field.
Note that the message is not currently used in any way with the client.
It should be stored with the transaction.
0.10
Wladimir J. van der Laan 11 years ago
parent
commit
03535acd05
  1. 5
      src/qt/guiutil.cpp
  2. 3
      src/qt/test/uritests.cpp
  3. 5
      src/qt/walletmodel.h

5
src/qt/guiutil.cpp

@ -112,6 +112,11 @@ bool parseBitcoinURI(const QUrl &uri, SendCoinsRecipient *out) @@ -112,6 +112,11 @@ bool parseBitcoinURI(const QUrl &uri, SendCoinsRecipient *out)
rv.label = i->second;
fShouldReturnFalse = false;
}
if (i->first == "message")
{
rv.message = i->second;
fShouldReturnFalse = false;
}
else if (i->first == "amount")
{
if(!i->second.isEmpty())

3
src/qt/test/uritests.cpp

@ -50,9 +50,8 @@ void URITests::uriTests() @@ -50,9 +50,8 @@ void URITests::uriTests()
QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"));
QVERIFY(rv.label == QString());
// We currently don't implement the message parameter (ok, yea, we break spec...)
uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?req-message=Wikipedia Example Address"));
QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv));
QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1,000&label=Wikipedia Example"));
QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv));

5
src/qt/walletmodel.h

@ -21,11 +21,14 @@ QT_END_NAMESPACE @@ -21,11 +21,14 @@ QT_END_NAMESPACE
class SendCoinsRecipient
{
public:
SendCoinsRecipient() : amount(0) { }
explicit SendCoinsRecipient() : amount(0) { }
explicit SendCoinsRecipient(const QString &addr, const QString &label, quint64 amount, const QString &message):
address(addr), label(label), amount(amount), message(message) {}
QString address;
QString label;
qint64 amount;
QString message;
// If from a payment request, paymentRequest.IsInitialized() will be true
PaymentRequestPlus paymentRequest;

Loading…
Cancel
Save