|
|
@ -312,7 +312,7 @@ PaymentServer::PaymentServer(QObject* parent, bool startLocalServer) : |
|
|
|
|
|
|
|
|
|
|
|
// Install global event filter to catch QFileOpenEvents
|
|
|
|
// Install global event filter to catch QFileOpenEvents
|
|
|
|
// on Mac: sent when you click bitcoin: links
|
|
|
|
// on Mac: sent when you click bitcoin: links
|
|
|
|
// other OSes: helpful when dealing with payment request files (in the future)
|
|
|
|
// other OSes: helpful when dealing with payment request files
|
|
|
|
if (parent) |
|
|
|
if (parent) |
|
|
|
parent->installEventFilter(this); |
|
|
|
parent->installEventFilter(this); |
|
|
|
|
|
|
|
|
|
|
@ -343,14 +343,13 @@ PaymentServer::~PaymentServer() |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// OSX-specific way of handling bitcoin: URIs and
|
|
|
|
// OSX-specific way of handling bitcoin: URIs and PaymentRequest mime types.
|
|
|
|
// PaymentRequest mime types
|
|
|
|
// Also used by paymentservertests.cpp and when opening a payment request file
|
|
|
|
|
|
|
|
// via "Open URI..." menu entry.
|
|
|
|
//
|
|
|
|
//
|
|
|
|
bool PaymentServer::eventFilter(QObject *object, QEvent *event) |
|
|
|
bool PaymentServer::eventFilter(QObject *object, QEvent *event) |
|
|
|
{ |
|
|
|
{ |
|
|
|
// clicking on bitcoin: URIs creates FileOpen events on the Mac
|
|
|
|
if (event->type() == QEvent::FileOpen) { |
|
|
|
if (event->type() == QEvent::FileOpen) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
QFileOpenEvent *fileEvent = static_cast<QFileOpenEvent*>(event); |
|
|
|
QFileOpenEvent *fileEvent = static_cast<QFileOpenEvent*>(event); |
|
|
|
if (!fileEvent->file().isEmpty()) |
|
|
|
if (!fileEvent->file().isEmpty()) |
|
|
|
handleURIOrFile(fileEvent->file()); |
|
|
|
handleURIOrFile(fileEvent->file()); |
|
|
@ -571,9 +570,9 @@ bool PaymentServer::processPaymentRequest(const PaymentRequestPlus& request, Sen |
|
|
|
addresses.append(QString::fromStdString(CBitcoinAddress(dest).ToString())); |
|
|
|
addresses.append(QString::fromStdString(CBitcoinAddress(dest).ToString())); |
|
|
|
} |
|
|
|
} |
|
|
|
else if (!recipient.authenticatedMerchant.isEmpty()) { |
|
|
|
else if (!recipient.authenticatedMerchant.isEmpty()) { |
|
|
|
// Insecure payments to custom bitcoin addresses are not supported
|
|
|
|
// Unauthenticated payment requests to custom bitcoin addresses are not supported
|
|
|
|
// (there is no good way to tell the user where they are paying in a way
|
|
|
|
// (there is no good way to tell the user where they are paying in a way they'd
|
|
|
|
// they'd have a chance of understanding).
|
|
|
|
// have a chance of understanding).
|
|
|
|
emit message(tr("Payment request rejected"), |
|
|
|
emit message(tr("Payment request rejected"), |
|
|
|
tr("Unverified payment requests to custom payment scripts are unsupported."), |
|
|
|
tr("Unverified payment requests to custom payment scripts are unsupported."), |
|
|
|
CClientUIInterface::MSG_ERROR); |
|
|
|
CClientUIInterface::MSG_ERROR); |
|
|
|