}
return true;
}
+
+bool GUIUtil::parseBitcoinURL(QString url, SendCoinsRecipient *out)
+{
+ // Convert bitcoin:// to bitcoin:
+ //
+ // Cannot handle this later, because bitcoin:// will cause Qt to see the part after // as host,
+ // which will lowercase it (and thus invalidate the address).
+ if(url.startsWith("bitcoin://"))
+ {
+ url.replace(0, 10, "bitcoin:");
+ }
+ QUrl urlInstance(url);
+ return parseBitcoinURL(&urlInstance, out);
+}
// Parse "bitcoin:" URL into recipient object, return true on succesful parsing
// See Bitcoin URL definition discussion here: https://bitcointalk.org/index.php?topic=33490.0
static bool parseBitcoinURL(const QUrl *url, SendCoinsRecipient *out);
+ static bool parseBitcoinURL(QString url, SendCoinsRecipient *out);
};
#endif // GUIUTIL_H
pasteEntry(rv);
}
+void SendCoinsDialog::handleURL(const QString &url)
+{
+ SendCoinsRecipient rv;
+ if(!GUIUtil::parseBitcoinURL(url, &rv))
+ {
+ return;
+ }
+ pasteEntry(rv);
+}
+
void SendCoinsDialog::setBalance(qint64 balance, qint64 unconfirmedBalance)
{
Q_UNUSED(unconfirmedBalance);
void pasteEntry(const SendCoinsRecipient &rv);
void handleURL(const QUrl *url);
+ void handleURL(const QString &url);
public slots:
void clear();