diff options
| author | Wladimir J. van der Laan <[email protected]> | 2012-02-17 12:54:07 -0800 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2012-02-17 12:54:07 -0800 |
| commit | 328512876ab6c5ec8eb69a9b34418caaee503bd5 (patch) | |
| tree | f513d69dd618d18ea2ec69725cf1a12791368e64 /src/qt/guiutil.cpp | |
| parent | Merge branch 'nolisten_bitcoin_conf_2' of https://github.com/dooglus/bitcoin (diff) | |
| parent | Restructure IPC URL handling (fixes #851) (diff) | |
| download | discoin-328512876ab6c5ec8eb69a9b34418caaee503bd5.tar.xz discoin-328512876ab6c5ec8eb69a9b34418caaee503bd5.zip | |
Merge pull request #854 from laanwj/2012_02_qtipc
Restructure IPC URL handling (fixes #851)
Diffstat (limited to 'src/qt/guiutil.cpp')
| -rw-r--r-- | src/qt/guiutil.cpp | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index 29ef554ac..02fc3b670 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -49,15 +49,15 @@ void GUIUtil::setupAmountWidget(QLineEdit *widget, QWidget *parent) widget->setAlignment(Qt::AlignRight|Qt::AlignVCenter); } -bool GUIUtil::parseBitcoinURL(const QUrl *url, SendCoinsRecipient *out) +bool GUIUtil::parseBitcoinURL(const QUrl &url, SendCoinsRecipient *out) { - if(url->scheme() != QString("bitcoin")) + if(url.scheme() != QString("bitcoin")) return false; SendCoinsRecipient rv; - rv.address = url->path(); + rv.address = url.path(); rv.amount = 0; - QList<QPair<QString, QString> > items = url->queryItems(); + QList<QPair<QString, QString> > items = url.queryItems(); for (QList<QPair<QString, QString> >::iterator i = items.begin(); i != items.end(); i++) { bool fShouldReturnFalse = false; @@ -94,6 +94,20 @@ bool GUIUtil::parseBitcoinURL(const QUrl *url, SendCoinsRecipient *out) 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); +} + QString GUIUtil::HtmlEscape(const QString& str, bool fMultiLine) { QString escaped = Qt::escape(str); |